Ich habe meine Website entwickelt, die überprüft, ob der Benutzer registriert ist und eine Sitzungsvariable mit dem Benutzernamen erstellt. Es ist alles, was als Sitzungsvariable gespeichert wird. Wenn ich meine Seiten schützen möchte (damit nur registrierte Benutzer sie sehen können), überprüfe ich, ob die Sitzungsvariable gesetzt ist. Ist das sicher? Oder können Sie eine sicherere Methode geben?
Im Allgemeinen ist die Sitzung serverseitig, aber wenn ich irgendwie die Sitzungs-ID erhalte, kann ich sie einfach entführen.
Ich würde empfehlen, zumindest die IP und vielleicht auch den User-Agent zu speichern, und im Falle einer Nichtübereinstimmung die Sitzung ungültig zu machen.
Im Prinzip können Sie alles, was Sie wollen, in der Sitzung speichern. Die einzigen Vorbehalte sind:
Im Allgemeinen beziehen sich die meisten der erwähnten Sicherheitsbedenken (einschließlich XSS-Attacken) jedoch nicht auf das Speichern von Daten in der Sitzung, sondern auf allgemeine Sicherheitsbedenken. Das Speichern von Benutzer-ID - oder einer verschlüsselten Form desselben - in Session ist im Allgemeinen ziemlich sicher.
Am wichtigsten: Wenn Sie Ihren eigenen Algorithmus verwenden würden, um einen zufälligen Cookie-Code für jeden Benutzer zu generieren, hätte das ohne Zweifel mehr Sicherheitsmängel (kein Experte) als die Algorithmen zur Generierung von Session-Schlüsseln von PHP , ASP.NET, Rails, was auch immer ...
Ich könnte ein passenderes Bruce-Schneier-Zitat finden, aber dieses wird tun: "Niemand kann das Vertrauen, das RSA nach 20 Jahren kryptanalytischer Überprüfung bietet, verdoppeln."