exciter: Login mit Session, aber ohne Cookie?

Hi alle zusammen, ich will einen Login realisieren, der auf Sessions basiert, der aber kein Cookie zur Speicherung der Daten benutzt. Statt dessen will ich die Daten in einer Textdatei speichern. Wie könnte ich da am besten vorgehen (Sessioncookies deaktivieren, Session in Datei speichern, usw)?

  1. Hi.

    Der Weg

    • User eine eindeutige ID zuweisen (z.B. md5($ip.time()))
    • diese ID jedem Link anhängen um User verfolgen zu können
    • anhand der ID das zugehörige Textfile bearbeiten.

    Grüße aus Würzburg
    Julian

    1. Hi.

      Der Weg

      • User eine eindeutige ID zuweisen (z.B. md5($ip.time()))
      • diese ID jedem Link anhängen um User verfolgen zu können
      • anhand der ID das zugehörige Textfile bearbeiten.

      Grüße aus Würzburg
      Julian

      Hallo zusammen,

      jetzt mal gaaanz blöde Frage: Wie fälschungssicher ist denn diese UID dann, wenn ich sie in die URi einbaue? Es könnte doch JEDER einfach eine UID manuell anhängen und einfach mal testen, ob sie funktioniert.

      Ich kann mir das noch nicht so richtig vorstellen, wie PHP das überprüft.

      Gruß

      Tom

      1. Hallo.

        Wie fälschungssicher ist denn diese UID dann?

        Naja, also md5-Verschlüsselung liefert eine 30-32 Zeichenkette z.B. 7955d68d66a6a903770c59787d721658. Wenn Du jetzt also mal alle Buchstaben nimmst (Groß+Klein), die Ziffern noch, und dann die Anzahl der Möglichkeiten ausrechnest (gaanz groß 60^30) dann wünsche ich viel Spaß beim durchprobieren gültiger Lösungen.
        Im Zweifel kann man auch noch die ID an die IP binden, damit wäre der Zugriff nur noch seeehr wenigen Leuten (eben die mit selber IP-Adresse) überhaupt mögliuch. Und dass die dann auch noch die ID kennen...

        Ich kann mir das noch nicht so richtig vorstellen, wie PHP das überprüft.

        Die Prüfung kannst Du ja auch per Abgleich mit einer Datenbank machen, in der Du derzeit gestartete Sessions loggst und folglich gültige ID drinstehen hast.

        Grüße aus Würzburg
        Julian

        1. Hallo Julian,

          das beruhigt mich schon etwas. Die UID sollte also auch nach soundsoviel Minuten ungültig werden. Das verhindert dann ja noch besser den Missbrauch. Das Ganze bleibt aber Statistik. Die IP ist vielleicht noch des Wesentliche.

          Kann ich trotzdem noch die Auth-Variablen PHP_AUTH_USER und PHP_AUTH_PW nutzen? Ergänzen die die Session-Verwaltung?

          Grüße aus BS

          Tom

          1. Hi Tom.

            Es kommt immer darauf an, was zu schützen ist. Möchtest Du nur einen mehrteiligen Bestellvorgang abwickeln und den User beim zweiten Schritt wieder korrekt erkenne, dann dürfte eien ganz normale ID reichen.
            Möchtest Du ein geschlossenes Forum von ungewollten Postern schützen kann man vielleicht auch noch den Zeitfaktor mit einbauen.
            Möchtest Du ein Extranet mit Kundendaten usw. Deiner Firma aufbauen, dann sollte alles möglich genutzt werden um Unberechtigte garantiert auszusperren.

            Kann ich trotzdem noch die Auth-Variablen PHP_AUTH_USER und PHP_AUTH_PW nutzen? Ergänzen die die Session-Verwaltung?

            Machbar sicherlich. Ob sinnvoll ist die andere Frage. Anhan ddieser beiden Vorgaben lässt sich ein user ja auch eindeutig identifizieren und macht eigentlich eine ID überflüssig.

            Wie schon angedeutet, es kommt immer auf den Zweck an, wieviel Arbeit man sich (und der Server) machen will.

            Grüße aus Würzburg
            Julian

  2. Hi alle zusammen, ich will einen Login realisieren, der auf Sessions basiert, der aber kein Cookie zur Speicherung der Daten benutzt. Statt dessen will ich die Daten in einer Textdatei speichern. Wie könnte ich da am besten vorgehen (Sessioncookies deaktivieren, Session in Datei speichern, usw)?

    Das macht PHP schon für Dich. Session Cookies aus, stattdessen die SID immer mit dranhängen (macht PHP fast-überall automatisch, wenn mit --enable_trans_sid compiliert, ansonsten halt ein &<?echo SID;?> an jede URL dran).