Es ist viel komplexer als das. Ihre Website/Ihr Dienst wird von verschiedenen Personen mit unterschiedlichen Einstellungen aufgerufen. Das erste, was schief gehen kann, ist, wenn jemand einen Proxy-Server durchläuft. Die IP-Adresse, die von Ihrer App angezeigt wird, kann sich ändern, und die Sitzung wird für einen gültigen Benutzer nicht mehr funktionieren.
Wenn Sie unbedingt etwas mit der IP-Adresse machen müssen, sollten Sie das Herkunftsland/die Herkunftsregion überprüfen, ohne zu viele Fehlalarme zu bekommen. Wenn Sie einen Anmeldenamen aus Kanada und einen anderen aus Indien finden, liegt möglicherweise ein Problem vor. Selbst dann ist es nicht narrensicher.
Der Benutzer-Agent ist auch zu einfach zu fälschen: Wenn ich jemandes PHPSESSIONID
bekommen kann, dann kann ich definitiv ihren User Agent auch bekommen. Hier wurde also nicht viel erreicht.
Die beste Methode zum Schutz einer Sitzung besteht darin, alles hinter HTTPS zu authentifizieren und sicherzustellen, dass der Sitzungscookie nur HTTPS ist.
BEARBEITEN: Wenn es zu dem Punkt kommt, wo die Daten, die Sie hinter der Sitzung schützen, extrem empfindlich sind und Ihre Benutzer sich dessen bewusst sein müssen, können Sie ihnen immer andere Sitzungen anzeigen, die für sie angemeldet sind Benutzer. Das gleiche geschieht zum Beispiel mit Google Mail.
Danke für die Antwort. Ich bin nicht zu sehr um den ersten Punkt bemüht, um ehrlich zu sein, aber Ihre Sekunde ist gültig. Wenn ich keinen Weg finde, dies zu verhindern, verwende ich einfach HTTPS. –
Danke! Übrigens, egal welche Option Sie wählen, ich würde immer vorschlagen, HTTPS hinzuzufügen. Die Verbreitung von öffentlichen WLAN-Hotspots bedeutet, dass alles, was ohne HTTPS läuft, für jeden sichtbar ist. –
Da Sie nur http verwenden möchten, können der Benutzername und das Passwort Ihres Benutzers bereits von einem Hacker abgerufen werden, wenn der Benutzer nicht vpn verwendet. Nicht einmal für die Sitzung zu denken. –