eindeutig - zweideutig ? ....
Korbinian Bachl
- php
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
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!
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
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
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!
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
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
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 ...
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?IDNUMMERAu 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
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?IDNUMMERAu 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
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 ...