2017-05-02 2 views
0

Ich erstelle ein Anmeldesystem, ohne die Verwendung von Frameworks.So können Sie die Sitzungsdaten eines bestimmten Benutzers aus einem Admin-Feld löschen

Der Administrator kann auf eine Seite zugreifen, auf der alle Benutzer in einer Tabellenform aufgelistet sind. Ich habe eine Schaltfläche in einer Spalte für jeden Benutzer namens "Abmelden Benutzer". Wenn ich/der Admin die Taste drücke, sollte das System/der Webserver die Sitzung des Benutzers I/The Admin targeted zerstören. Wenn der Zielbenutzer seine Seite aktualisiert, würde ich nicht mehr angemeldet sein.

Notizen: Ich speichere die session_id bereits in der Datenbank für den aktuellen Benutzer.

+0

Sie benötigen eine Datenbank. Und jedes Mal, wenn eine Seite geladen wird, haben Sie einen PHP-Code, der prüft, ob sich der Benutzer in der 'aktiven' Sitzung befindet. (Es ist NICHT effizient, aber es wird funktionieren.) Allerdings würden wir gerne einen Code sehen, den Sie ausprobiert haben. – RepeaterCreeper

+0

Ich überprüfe nur, ob die Sitzung momentan mit einer Variablen in der Sitzung aktiv ist, wenn du willst. Und jedes Mal, wenn eine Seite geladen wird und sich der Benutzer in der Sitzung befindet, aktualisiere ich die Datenbank mit der Benutzer_ID gerade auch in einer der Sitzungsvariablen. –

Antwort

0

Sie können diese Sitzung sehr leicht entführen und dann zerstören, da Sie die Sitzungs-ID haben. Holen Sie sich einfach die Session-ID vom Server und übergeben Sie diese Funktion.

function destroy_third_party_session($in_session_id){ 
    session_id($in_session_id); // Sets the session id; 
    session_start(); // starts the session as that session id 
    session_destroy(); // destroy the session 
    session_commit(); 
} 
+0

Ich werde das versuchen. Wenn ich die Sitzungs-ID an die Sitzungs-ID() weitergebe, verwende ich dann die Sitzung des Zielbenutzers? Und dann zwingt ihn, ihn auszuloggen? –

+0

Ich habe in den phpdocs einen unlink ('session.save_path') gefunden. '\ Sess _'. $ In_session_id); Aber ich bekomme eine Ressource vorübergehend nicht verfügbar Warnung beim Versuch, die Sitzungsdatei des Benutzers auf dem Webserver zu löschen –

+0

Ja, Sie werden die Benutzer-Sitzung verwenden, aber da Sie sofort die Sitzung zerstören, sollte es keine Rolle spielen. Ich bin mir nicht sicher, was in den phpdocs vorgeschlagen wird. – coderodour

Verwandte Themen