Jan: Nutzer eindeutig identifizieren

Hallo Forum,
meine letzte Hoffnung bei meinem Problem.
Ich schreibe gerade an einer Warenkorblösung. Für diese wäre es nun einmal nicht schlecht, wenn ich in die Datenbank neben den Produkten auch hinterlegen könnte welcher Nuzter es war.
Leider soll der Warenkkorb nicht hinter einen Login Bereich. Dann könnte ich eine Session starten und die Session ID nehmen.
Die IP Adresse fällt leider auch flach, zu viele haben heute einen Proxy Server.
Nun bleibt die Frage wie sorge ich dafür das ein Nutzer eindeutig identifizierbar bleibt?
Bei Sessions habe ich leider keine Seite über die ich EINMAL hinweggehe. Ausserdem habe ich das Problem, sollte einer einmal Refresh auf seinem Browser klicken ist die Session_id weg, oder ist das nur bei mir so?
Kann mir einer helfen? HILFE.
Jan

P.s.
Die Seite wird in einem Framset geladen, auf das ich auch vollen Zugriff habe.

  1. Hi,

    wie wäre es die IP mit einem Timestamp zu verknüpfen,
    um Eindeutigkeit herzustellen.

    1. Hi,

      wie wäre es die IP mit einem Timestamp zu verknüpfen,
      um Eindeutigkeit herzustellen.

      ja, nur wo hinterlege ich dann die variable? Es gibt leider so viele Verrückte die glauben Cookies sind etwas abgrundtief böses >-(.

      Ausserdem ändert sich der/die timestamp ja, also wenn auf einer Seite eine Ware hinterlegt wurde, wie bekomme ich dann die verknüpfung zwischen altem und neuen Produkt == gleicher Nutzer hin?

      Jan

  2. Hi,

    nochmal: meine Antwort wsr blödsinn,
    da nicht der Datensatz, sondern der Nutzer
    eindeutig identiviziert werden soll.

    Sorry

  3. moin

    Ich schreibe gerade an einer Warenkorblösung. Für diese wäre es nun einmal nicht schlecht, wenn ich in die Datenbank neben den Produkten auch hinterlegen könnte welcher Nuzter es war.
    Leider soll der Warenkkorb nicht hinter einen Login Bereich. Dann könnte ich eine Session starten und die Session ID nehmen.
    Die IP Adresse fällt leider auch flach, zu viele haben heute einen Proxy Server.
    Nun bleibt die Frage wie sorge ich dafür das ein Nutzer eindeutig identifizierbar bleibt?

    Probiers doch mal mit Keksen (Cookies)!!! Oder Parameterübergabe in der URL http://meinladen.de/index.php+ladendieb

    cu

    1. Ich hab da natürlich auch schon dran gedacht, hab' da aber ein paar Probleme:
      1. cookies, werden ja leider manchmal ausgeschaltet, warum habe ich immer noch nicht begriffen.
      2. Welche feste Kennung soll ich übermitteln um ein späteres Zusammensammeln zu ermöglichen? Ich befinde mich leider nicht in einem abgegrenzten Bereich, jeder start einer session ändert die Session ID. Die IP, wie gesagt Proxy ...... ??????
      Wie kann ich die Sessions sichern, falls der Browser aktualisiert wird? (Problem falls Sessions ganz zu Beginn gestartet werden)

      trotzdem danke
      Jan

      1. Hi Jan,

        1. Welche feste Kennung soll ich übermitteln um ein späteres
          Zusammensammeln zu ermöglichen?

        Für jede Session eine andere. (Sonst kannst Du sie ja nicht unterscheiden.)

        Ich befinde mich leider nicht in einem abgegrenzten Bereich,

        Das ist auch nicht zwingend notwendig.

        jeder start einer session ändert die Session ID.

        Das brauchst Du auch so.

        Wie kann ich die Sessions sichern, falls der Browser aktualisiert
        wird? (Problem falls Sessions ganz zu Beginn gestartet werden)

        Sessions werden immer ganz zu Beginn gestartet. ;-)

        Im Ernst: Deine Session manifestiert sich dadurch, daß der Client bei
        jedem Zugriff die ID seiner (!) Session zum Server überträgt - oder
        eben auch nicht. Tut er es (und erkennt der Server die Session-ID
        anhand seines Vorrats an laufenden Sessions wieder!), dann kann der
        Server den Client als Inhaber dieser Session anerkennen; tut er es
        nicht, dann kann der Server den Zugriff entweder ablehnen oder (besser)
        dem Client eine neue Session-ID verpassen.

        Für letzteres ist es in keinster Weise notwendig, daß der Client selbst
        irgendwas aktiv beiträgt. Der Server alleine ist in der Lage, sich IDs
        auszudenken, welche einen hinreichenden Wiedererkennungswert besitzen.

        Viele Grüße
              Michael

  4. Moin!

    Leider soll der Warenkkorb nicht hinter einen Login Bereich. Dann könnte ich eine Session starten und die Session ID nehmen.

    Du kannst auch ohne Login eine Session starten. Wie du das machst, steht in der PHP-Doku. Und welche Möglichkeiten es gibt, die Session zu behalten, steht dort auch (also entweder Cookies, oder Übergabe eines Parameters in der URL).

    Genau so und NUR so gehts. Alle Versuche mit IP-Adresse etc. gehen mit Sicherheit schief.

    Der caupo-shop (nur mal als Beispiel für einen PHP-Shop) kriegts ja auch hin. :)

    - Sven Rautenberg

  5. Nun bleibt die Frage wie sorge ich dafür das ein Nutzer eindeutig identifizierbar bleibt?

    Der Nutzer ist _nie_ eindeutig identifizierbar. Mit keinem derzeit üblichen System.

    Bei Sessions habe ich leider keine Seite über die ich EINMAL hinweggehe.

    Jede Seite, die der Benutzer aufruft, kann eine Session initieren. Wenn sie dann einmal da ist, wird man sie so schnell nicht wieder los, es sei denn man gibt sich Mühe. :-)

    Ausserdem habe ich das Problem, sollte einer einmal Refresh auf seinem Browser klicken ist die Session_id weg, oder ist das nur bei mir so?

    Die Session (incl. ihrer ID) bleibt erhalten, bis sie beendet wird, d.h. bis der Benutzer seinen Browser schliesst oder eine Seite aufruft, die die Session terminiert. Ein Refresh oder Reload terminiert die Session nicht. Vorausgesetzt wird natürlich, dass die SID bei jedem Aufruf einer Seite an den Client weitergereicht wird, auf welchem Wege auch immer (Hostname, Pfad, Cookie, GET-Parameter...).

    regards,
    Andreas