Online Shop - Möglichkeiten zur Erstellung

  • Hey zusammen,


    ich habe heute das Thema "Online Shop Erstellung" mitgebracht.


    Ich möchte einen Online Shop selbst erstellen. Dazu habe ich die Bauteile einfach mal aufgeteilt und vereinfacht mir sortiert.


    Der Shop benötigt (Hauptfunktionen):

    1. Registrierung & Login
    2. Profilbearbeitung
    3. Produkt Datenbank mit allen Produktdaten
    4. Formulare zum einpflegen der Produktdaten (Beschreibung, Bilder)
    5. Prozess um die Produktdaten dynamisch auszugeben
    6. Kategorieseite, Produktseiten mit verschiedenen Optionen und einer Bildergalerie
    7. Warenkorb
    8. Bestellformular/Kaufformular
    9. Kaufabwicklung über Paypal - dafür wird Paypal einfach integriert - und Bankzahlung
      1. Planung bei Bankzahlung:
        1. Kunde gibt seine Bankdaten ein - erteilt über das Formular dann, dass wir von seinem Konto per Lastschrift den Betrag abbuchen können
        2. Daten werden in Datenbank gespeichert und auf der Bestellungsseite ausgegeben.


    Da braucht man doch eigentlich nicht unbedingt ein fertiges Shopsystem. Klar - ich habe bei dem ganzen auf die Sicherheit zu achten und die Gefahrenquellen wie XSS-Angriffe, SQL-Injection, CSRF-Angriffe, Session Hijacking & Spam Protection so gut wie möglich auszuschliesen. Daten filtern, Prepared Statements, Honeypots, Formularsicherung, Login Zeit überprüfen und nach bestimmter Zeit zerstören usw..


    Für mich wäre dies nicht unmöglich. Eine Herausforderung - jedoch sehe ich dem optimistisch entgegen, da ich bereits viel Erfahrung & Wissen besitze.


    Wie seht ihr das? Muss ich da mehr beachten? Sicherheitsthemen?


    Grüße,

    Stef

  • Ich mache Derzeit das gleiche. Also fast. Einen Online Shop in dem es Möglich sein soll Waren zu bestellen, bzw. zu mieten. In meinem Fall ist es wichtig dass der Shop immer weiß ob etwas verfügbar ist, oder nicht. Die große Schwierigkeit ist es glaube ich, alle Bestandteile der Firma, die den Shop anbietet zu synchronisieren, sodass keine Bestell-Pannen entstehen können.


    Es muss also der Warenbestand genau aufgeführt sein und auch genau angezeigt werden. Ist ein Produkt nicht mehr verfügbar, darf es nicht mehr käuflich sein. Ich selbst hab das als Kunde erlebt - ein Teil der Bestellung kam einfach nicht an, war aber auf dem Lieferschein drauf und das Geld war auch abgebucht. Als ich angerufen hab, hieß es, dass das Produkt genau dann ausverkauft war. Blöde Panne - sollte niemals passieren. Besonders schwierig wird das dann eben erst, wenn Kunden die Ware auch auf anderen Wegen, wie per Fax oder Telefon bestellen können.


    Jetzt kommt mal ein großer Kritikpunkt an einfach mal 90% aller Onlineshops: Der Login. Undzwar: Warum existiert der überhaupt?

    Ich will mir nicht für jeden kack Shop nochmal nen extra Account machen müssen, nochmal mehr Email Spam, nochmal ein weiteres Passwort merken, noch eine weitere Möglichkeit wo Hacker meine Daten abgreifen können. Nervig.

    Ich bin der Meinung, dass wenn ein Login unbedingt nötig ist, dann verwende die Google oder Facebook Api. Jeder Mensch hat eins von beiden. Ansonsten versuche eine Lösung zu finden, die ohne Registrierung funktioniert. Bezahlen muss man doch sowieso, dann geschieht auch sowieso ein Datenabgleich.


    Der Punkt Profilbearbeitung fällt dann eh weg. Und überhaupt... Warum ein Profil? Wenn dann überhaupt eine Kontoverwaltung, wo man maximal Anschrift und Bankdaten ändern kann. Wozu mehr?


    Wichtig sind Adminaccounts. Also ja doch, Du brauchst eine Account Struktur. Doch diese ist nur für den Betreiber des Shops vorgesehen. Da brauchst du auch kein Registrierformular. Du selbst erstellst einen Ranghöchsten Admin Account, der dann intern weitere Konten erstellen kann, die verschiedene Ränge haben.


    So kann der höchste Rang alles machen und hat Zugriff auf alles. Der niedrigste Rang zum Beispiel könnte aber nur einige Dinge einsehen, die wichtig für seine Arbeit sind, aber nichts ändern. Rang 2 kann weitere Produkte hinzufügen, aber keine neuen Konten erstellen. Soll ja nur der Admin können.


    Zum Punkto Sicherheit kann ich nicht viel sagen, wird aber einfacher, wenn keine Sensiblen Daten gespeichert werden, wie es bei nem Kundenlogin der Fall wäre.


    PS: Keiner hier antwortet auf deine Frage weil du eig schon der schlauste bist. Wir können dir nix beibringen, du nur uns.

  • Hey,


    danke für deine ausführliche Antwort.

    Nice. :)


    Zitat

    Einen Online Shop in dem es Möglich sein soll Waren zu bestellen, bzw. zu mieten. In meinem Fall ist es wichtig dass der Shop immer weiß ob etwas verfügbar ist, oder nicht. Die große Schwierigkeit ist es glaube ich, alle Bestandteile der Firma, die den Shop anbietet zu synchronisieren, sodass keine Bestell-Pannen entstehen können. Es muss also der Warenbestand genau aufgeführt sein und auch genau angezeigt werden. Ist ein Produkt nicht mehr verfügbar, darf es nicht mehr käuflich sein.

    Dies ist garnicht so schwer. Bei der Produkteinpflegung wird die Anzahl eines verfügbaren Produktes abgespeichert. Nun beim Kauf im Online Shop wird dann die Anzahl einfach subtrahiert mit der Anzahl die verkauft wurde. Bei Retoure und Überprüfung wird die gesendete Anzahl wieder hinzuaddiert. Darüber hinaus kann man dort auch eine Funktion erstellen welche jedes Produkt auf die verfügbare Anzahl prüft und je nach Anzahl eine Meldung für den Kunden ausgibt (Es sind nurnoch 4 Produkte verfügbar) und eine Meldung für das Personal damit dieses weis - Waare wird leer - müssen wir neue bestellen. Beim Telefon und Fax kann man einfach ein Formular erstellen und dann über dieses diesen Ablauf durchführen. Dies heißt 2 Wege mit einer zentralen Quelle.


    Zitat


    Ich selbst hab das als Kunde erlebt - ein Teil der Bestellung kam einfach nicht an, war aber auf dem Lieferschein drauf und das Geld war auch abgebucht. Als ich angerufen hab, hieß es, dass das Produkt genau dann ausverkauft war. Blöde Panne - sollte niemals passieren.

    Oha. Dies ist sehr ärgerlich. Sowas sollte niemals passieren wie du geschrieben hast.


    Zitat

    Jetzt kommt mal ein großer Kritikpunkt an einfach mal 90% aller Onlineshops: Der Login. Undzwar: Warum existiert der überhaupt?

    Ich will mir nicht für jeden kack Shop nochmal nen extra Account machen müssen, nochmal mehr Email Spam, nochmal ein weiteres Passwort merken, noch eine weitere Möglichkeit wo Hacker meine Daten abgreifen können. Nervig.

    Ich bin der Meinung, dass wenn ein Login unbedingt nötig ist, dann verwende die Google oder Facebook Api. Jeder Mensch hat eins von beiden. Ansonsten versuche eine Lösung zu finden, die ohne Registrierung funktioniert. Bezahlen muss man doch sowieso, dann geschieht auch sowieso ein Datenabgleich.

    Darüber habe ich noch nicht so nachgedacht. Ein Accountmanagment ist finde ich jedoch schon notwendig. Vor allem zum Beispiel für Retouren, Newsletter, Partnerprogramm, etc... - Meiner Ansicht nach sollte man dem Kunden 2 Möglichkeiten geben - entweder Bestellung als Gast oder Bestellung als registrierter Kunde. Dein Vorschlag dies über diese API's zu machen finde ich echt gut. Darauf bin ich garnicht gekommen. Es gibt bestimmt einige Menschen welche sich nicht über Facebook/Google registrieren möchten. Ich bin zum Beispiel einer davon. Diesen API-Login sollte man dann als Zusatzlogin anbieten.


    Zitat

    Der Punkt Profilbearbeitung fällt dann eh weg. Und überhaupt... Warum ein Profil? Wenn dann überhaupt eine Kontoverwaltung, wo man maximal Anschrift und Bankdaten ändern kann. Wozu mehr?

    Darunter zähle ich wie du auch geschrieben hast die Anschrift und Bankdaten. Dazu noch zähle ich noch das Partnerprogramm, Retouren, Gekaufte Produkte.


    Zitat

    Wichtig sind Adminaccounts. Also ja doch, Du brauchst eine Account Struktur. Doch diese ist nur für den Betreiber des Shops vorgesehen. Da brauchst du auch kein Registrierformular. Du selbst erstellst einen Ranghöchsten Admin Account, der dann intern weitere Konten erstellen kann, die verschiedene Ränge haben.


    So kann der höchste Rang alles machen und hat Zugriff auf alles. Der niedrigste Rang zum Beispiel könnte aber nur einige Dinge einsehen, die wichtig für seine Arbeit sind, aber nichts ändern. Rang 2 kann weitere Produkte hinzufügen, aber keine neuen Konten erstellen. Soll ja nur der Admin können.

    Dort stimme ich absolut zu. Ein Formular braucht man dafür trotzdem. Um neue Mitglieder hinzuzufügen.


    Zitat


    PS: Keiner hier antwortet auf deine Frage weil du eig schon der schlauste bist. Wir können dir nix beibringen, du nur uns.

    Ehm.... da kann ich dir ohne Sorgen wiedersprechen. Ich gebe zu ich bin gut darin und besitze viel Wissen & Erfahrung aber das ich da der, ich zitiere, "Schlauste" bin sehe ich nicht so. Es gibt noch erfahrenerere Programmierer hier wie Arne, cottton, m.scatello.

  • finde es schade, dass sich keiner gemeldet hat

    Ich gestehe, ich habe das hier übersehen. Was aber auch nicht wirklich schlimm ist, denn ich würde dir eher davon abraten. Nicht, weil ich dir dieses Projekt nicht zutraue, aber wieso will man soetwas überhaupt machen? Es gibt wirklich gute Shopsysteme, die auch weltweit eingesetzt werden und ein hohes Maß an Sicherheit bieten. Wenn man das alles selber schreiben will, dann ist das ein mehrjähriges Projekt und dann musst du auch noch Leute finden, die deinen Shop ausführlich testen. Der komplette Aufwand wäre mir eindeutig zu hoch.

    Alles unter dem Strich ist eine Signatur!


    Die Deutsche Rechtschreibung ist Freeware, sprich, du darfst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen!


    Zitat von Dieter Nuhr: "Wenn man keine Ahnung hat, einfach mal Fresse halten". Wie recht er doch hat...