Korbinian Bachl: eindeutig - zweideutig ? ....

Hi,

als erstes: DANKE an alle die mein letztes posting beantwortet haben (ASP oder PHP, wendepunkt..) habe mich nun für PHP3 entschieden...

und schon gehts los..

Ich plane ein warenkorbsystem zu basteln und bin schon beim 1. problem :

Kunde A wählt was aus und schaut weiter.... soweit so gut, doch nun: Kunde b kommt zur page dazu... er wähöt auch was aus... OPPALA ! ... das speichern in einer datei die auf dem server liegt löppt nimmer... Kunde A und B vermsichen die bestellungen bzw kaufen nun zu 2 ein..... doch nur einer kann zahln und die lieferung empfangen :(....

also muss man Kunde A oder B eindeutig identiiezeiren können... soweit so gut, doch wie mache ich das ? jeder kunde bekommt eine eindueige NR zugewisern sobald er etwas in den warenkorb legt die er dann mit sich rumschleppt im schlepptau.... aber wie bekomme ich es hin das die auch auf der nächsten seite die er anwählt die nummer hat ? bittte um hilfe...

THX

Korbinian

  1. hi!

    also muss man Kunde A oder B eindeutig identiiezeiren können... soweit so gut, doch wie
    mache ich das ? jeder kunde bekommt eine eindueige NR zugewisern sobald er etwas in
    den warenkorb legt die er dann mit sich rumschleppt im schlepptau.... aber wie bekomme
    ich es hin das die auch auf der nächsten seite die er anwählt die nummer hat ? bittte um
    hilfe...

    Als Cookie speichern, in einem zweiten Frame ablegen, per Parameter an alle Seiten weitergeben oder die IP speichern und immer überprüfen.

    bye, Frank!

  2. Hi Korbinian,

    am besten wäre es wohl, jedem deiner Besucher eine eindeutige Session-ID zuzuweisen, um ihn klar identifizieren zu können.
    Dafür gibt es in PHP3 die Funktion setcookie(..), musst du mal in der Doku nachlesen ;-)

    Das Beste ist dann: den Cookie-Wert, den du vergibst, kannst du per php3 stets abfragen.
    Damit könntest du z.B. die Bestellungg pro Kunde in einer Datei speichern die als Namen den Wert des Cookies hat.

    Bei größeren Warenkorbsystemen ist aber die Verwendung einer Datenbank (z. B. MySQL) sehr zu empfehlen.

    Viel Erfolg
    Stephan

    1. Hi Korbinian,

      am besten wäre es wohl, jedem deiner Besucher eine eindeutige Session-ID zuzuweisen, um ihn klar identifizieren zu können.
      Dafür gibt es in PHP3 die Funktion setcookie(..), musst du mal in der Doku nachlesen ;-)

      Das Beste ist dann: den Cookie-Wert, den du vergibst, kannst du per php3 stets abfragen.
      Damit könntest du z.B. die Bestellungg pro Kunde in einer Datei speichern die als Namen den Wert des Cookies hat.

      Bei größeren Warenkorbsystemen ist aber die Verwendung einer Datenbank (z. B. MySQL) sehr zu empfehlen.

      Viel Erfolg
      Stephan

      sorry, darauf bin ich auch schon gekommen ABER:

      ich will es ohne Cookies machen, und mich auf HTML (pur) beschränken, alles andere (datenbankabfrgaen & co) macht PHP3 oder n CGI script... also serverseitig

      ich dachte eher das eine ID vergeben wird die sich an die URL dranhängt zb www.XYZ.de/bestellen.php3?IDNUMMER

      und er dann die IDNUMMER einmal am anfang bekommt und dann mit sich rumscheleppt , somit kann er auch n 2. browserfenster öffenen das wieder seine IDNUMMER hat.... irgendwelche ideen ?

      Korbinian

      1. hi!

        und er dann die IDNUMMER einmal am anfang bekommt und dann mit sich rumscheleppt ,
        somit kann er auch n 2. browserfenster öffenen das wieder seine IDNUMMER hat....
        irgendwelche ideen ?

        Das war doch eine Idee. Warum machst du es nicht so?

        bye, Frank!

        1. hi!

          und er dann die IDNUMMER einmal am anfang bekommt und dann mit sich rumscheleppt ,
          somit kann er auch n 2. browserfenster öffenen das wieder seine IDNUMMER hat....
          irgendwelche ideen ?

          Das war doch eine Idee. Warum machst du es nicht so?

          bye, Frank!

          schluchz ! heul ....

          ich wusste doch nicht WIE ! erst das posting von Stephan Kirchlechner hatte mich auf die lösung gebracht ....

          die theorie is schnell geklärt, aber ich habe keine PHP3 programmiererfahrung .. nur 900 seiten ausgedruckt und n Buch ...

          also trotzdem danke an euch 2!

          Korbinian

      2. Hi

        ich will es ohne Cookies machen

        Cookies sind nicht so exotisch, können auch etwas älter Browser schon !
        Wir hatten mal im Geschäft die gleiche Diskussion und uns für Cookies entschieden
        (hat auch Nachteile, ich weiss)

        ich dachte eher das eine ID vergeben wird die sich an die URL dranhängt zb www.XYZ.de/bestellen.php3?IDNUMMER

        und er dann die IDNUMMER einmal am anfang bekommt und dann mit sich rumscheleppt , somit kann er auch n 2. browserfenster öffenen das wieder seine IDNUMMER hat.... irgendwelche ideen ?

        kannste auch machen, ABER dann müssen alle Seiten, auf denen Links stehen, von php3 erzeugt werden und du musst an jeden Link die ID hängen:

        <?php
        echo "<a href=www.XYZ.de/bestellen.php3?id=".$id.">Link nach xy</a>";
        ?>

        Stephan

      3. ich will es ohne Cookies machen, und mich auf HTML (pur) beschränken, alles andere (datenbankabfrgaen & co) macht PHP3 oder n CGI script... also serverseitig
        ich dachte eher das eine ID vergeben wird die sich an die URL dranhängt zb www.XYZ.de/bestellen.php3?IDNUMMER

        Au ja, und ich darf dann im Location-Feld meine URL editieren und - wenn ich gut rate - in fremden Warenkörben kramen. Oder? Irgendwie kommt mir der Cookie seriöser vor - und die IP-Adresse natürlich erst recht.

        Bei letzterer muß man allerdings erkennen, wann eine "Sitzung" vorbei ist - nicht daß der nächste Kunde durch die geppolten IP-Adressen seines ISP irgendwelche Leichen seines Vorgöngers erben kann ... Sicherheit ist gar nicht so trivial ...

        1. ich will es ohne Cookies machen, und mich auf HTML (pur) beschränken, alles andere (datenbankabfrgaen & co) macht PHP3 oder n CGI script... also serverseitig
          ich dachte eher das eine ID vergeben wird die sich an die URL dranhängt zb www.XYZ.de/bestellen.php3?IDNUMMER

          Au ja, und ich darf dann im Location-Feld meine URL editieren und - wenn ich gut rate - in fremden Warenkörben kramen. Oder? Irgendwie kommt mir der Cookie seriöser vor - und die IP-Adresse natürlich erst recht.

          Bei letzterer muß man allerdings erkennen, wann eine "Sitzung" vorbei ist - nicht daß der nächste Kunde durch die geppolten IP-Adressen seines ISP irgendwelche Leichen seines Vorgöngers erben kann ... Sicherheit ist gar nicht so trivial ...

          __>

          ALSO ! aber bitte... niemand ist so dumm und glaubt echt das man so in nem andren warenkorb kramen kann.. die ID kann man ja einfach zufällig machen, und aus ca 25 zeichen zusammensetzen, auserdem ist sie ja nur temporär ! also ist dein einwand somit AD ABSURDUM geführt... BTW: amazon.de & co machen es genauso ! per CGI wird ne ID generiert die zugriffszeitlang lebt und aus 40 stellen besteht, sollte der unwahrscheinliche vorfall passieren das ID kunde A = ID Kunde B ist wird nochmal ne neue generiert... also ich halte es für die beste sache die es gibt... die ID wird einmal beim betreten der page generiert... ein übernehmen per IP is nicht möglich .. jedoch wüsste ich nicht wie es so gehen sollte... da ja alles dynamisch und in der praxis einmalig ist.. in der theorie kommen alle zigmiliardenmal 2 gleiche aufrufe vor... das kann man aber damit beheben das die IDs zb nach benutzung 3 tage gesperrt sind somit nicht mehr vergeben werden...

          und die gößtmögliche sicherheit wird so gewährt... das bezahlen läuft ja nachdem die artikel zusammne sind per SSL 40BIT verschlüsselung und dort wreden alle wahren nochmal aufgeführt...

          also bitte nur SINVOLLE vorschläge unterbreiten

          gruß

          Korbinian

        2. ich will es ohne Cookies machen, und mich auf HTML (pur) beschränken, alles andere (datenbankabfrgaen & co) macht PHP3 oder n CGI script... also serverseitig
          ich dachte eher das eine ID vergeben wird die sich an die URL dranhängt zb www.XYZ.de/bestellen.php3?IDNUMMER

          Au ja, und ich darf dann im Location-Feld meine URL editieren und - wenn ich gut rate - in fremden Warenkörben kramen. Oder? Irgendwie kommt mir der Cookie seriöser vor - und die IP-Adresse natürlich erst recht.

          Bei letzterer muß man allerdings erkennen, wann eine "Sitzung" vorbei ist - nicht daß der nächste Kunde durch die geppolten IP-Adressen seines ISP irgendwelche Leichen seines Vorgöngers erben kann ... Sicherheit ist gar nicht so trivial ...

          Das Editieren von URL's kann man verhindern, indem man die Geschichte in ein
          Frameset packt.
          Außerdem gibt es noch die Möglichkeit die ID in einem HIDDEN-Field auf allen Seiten mitzuschleppen. Serverseitig kann man dann die SessionID mit der Warenkorbnummer
          verknüpfen. Beides (Warenkorbnummern und Sessions) speichert man in seiner Datenbank
          und läßt diese von Zeit zu Zeit automatisch aufräumen.

          Im Übrigen kann auch ein gewiefter Cookie-Editierer in den Cookies spielen...
          Solange die ID aber lang genug ist und nicht berechenbar, wird das immer schwierig sein...

          Cheers
          Jürgen

          1. Das Editieren von URL's kann man verhindern, indem man die Geschichte in ein
            Frameset packt.

            Und was ist mit "open link in new browser window"? Frames schrecken niemanden ab, der Geld erbeuten oder randalieren will.

            Außerdem gibt es noch die Möglichkeit die ID in einem HIDDEN-Field auf allen Seiten mitzuschleppen.

            "view source", und ich habe den Inhalt, sehe also sofort, an welcher Position der URL ich etwas ändern muß. Sehr "hidden" ist das Feld eben nicht.

            Im Übrigen kann auch ein gewiefter Cookie-Editierer in den Cookies spielen...

            Wahr.

            Solange die ID aber lang genug ist und nicht berechenbar, wird das immer schwierig sein...

            "Nicht berechenbar" hilft wenig gegen ein schnelles Würfelprogramm; "lang genug" ist die einzige Hoffnung - wie bei jedem Verschlüsselungsverfahren ...