Sitzung Injektion?
Wie soll ich die host-id des Benutzers auf der Sitzung? nur zum einfügen der id? Ich meine (zum Beispiel):
$_SESSION['id'] = 1;
Gibt es nicht eine Möglichkeit, es zu ändern durch den user selbst (als cookie..)? Denn wenn dem so ist, kann er ändern, um keine id.
Noch eine Frage - wie kann ich überprüfen, ob Benutzer angemeldet ist (bei sessions)? Ich habe eine Mappe erstellt:
$_SESSION['is_logged_in'] = true;
Wieder, kann nicht der Benutzer nur eine Sitzung erstellen, die sein name ist "is_logged_in" und sein Wert true ist? oder nur der server hat eine Kontrolle über den Wert der server?
- siehe: PHP-Session Fixierung / Entführung
- Die Art, wie es funktionieren soll, ist die SITZUNG gesteuert wird und vom server nur. Also Nein, sollte der Benutzer nicht in der Lage sein, um eine Sitzung zu erstellen, die sein name ist "is_logged_in" und Sie sich auf die Sitzung in der Weise, die Sie beschreiben, es sei denn, Ihr SESSION-Methodik ist ernsthaft fehlerhaft.
- Die Werte in
$_SESSION
gespeichert sind ausschließlich serverside. Der Benutzer erhält nur ein PHPSESSID cookie enthält eine session-id. PHP nutzt diese zur Suche nach Daten in der session speichern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle session-Variablen werden in PHP serverseitig gespeichert.
Der client speichert ein cookie, das von Referenzen, die session verwendet werden soll, und dann sucht der server die Werte für die session.
Es ist sicher zu speichern is_logged_in in Ihrer Sitzung sowie die Benutzer-id.
Was Sie beachten sollten, ist, wenn ein anderer Benutzer bekommt ein halten des anderen Benutzers als session-cookie werden Sie in der Lage zu imitieren, dass Benutzer, bis das Zeitlimit für die Sitzung. Eine einfache Lösung ist das verknüpfen von sessions mit IPs.