WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » PHP: Login per $_SESSION » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von FrediL
Ja, ist das mit dem Logout denn nicht wichtig? Ich meine die Session muss doch gelöscht werden, oder? Was passiert eigentlich, wenn man sich nicht ausloggt?
von Ticonderoga
ja, prinzipiell. Du solltest beim Laden einer jeden Datei, die Du im internern Bereich ablegst, als erstes prüfen, ob der Benutzer etwas im internen Bereich zu suchen hat, sprich ob seine letzte in der Relation eingetragene Zeit und die jetzige über eine halbe Stunde differieren. Und natürlich solltest Du - bei erfolgreicher Prüfung - ein Update der Zeit der letzten Aktion machen, damit der Benutzer, falls er länger als eine halbe Stunde im internen Bereich ist, nicht zu Unrecht rausgeschmissen wird.
Wozu willst Du ihn dann (wenn "seine Zeit abgelaufen ist") denn eigentlich noch extra ausloggen? Wie ich schon geschrieben habe, würde ich den Vorgang des ausloggens dann nicht extra über das Laden einer neuen Datei realisieren, weil ich das als Außenstehender mit den richtigen Rahmenbedingungen und ein wenig Sachkenntnis manipulieren kann.
Die aktive Zeit per Session-ID mit übergeben? Ich muß leider zugeben, dass ich das noch nie gemacht habe. Prinzipiell halte ich aber das Speichern und Auslesen aus der Datenbank für die bessere und sichere Methode. Außerdem kann ich nebenbei das Verhalten meiner User damit auch ein wenig "überwachen"... Sprich, Erkenntnisse über das Surfverhalten gewinnen... kann man natürlich positiv und negativ sehen - aber das ist auch nicht Thema dieses Threats
von FrediL
Also deiner Meinung nach, soll ich einfach in der DB, in der die Userdaten gespeichert werden eine Spalte anlegen, in die ich immer die letzte aktive Zeit eintrage. Am Anfang jeder Datei dann einfach diese Zeit mit der jetzigen vergleichen und dann entweder autom auf die Logout-Seite verlinken oder eben die Datei normal ausführen.

Nur was meinst du damit:
Wenn Du einfach auf die log-out datei verweist, könnte man das System einfacher überlisten...


Gibt es eine Möglichkeit diese aktive Zeit auch einfach mit der Session ID zu übergeben?
von Ticonderoga
Generell ist es sinnvoll, Zugänge mit einem "Aktiv"-Feld zu speichern. Damit kannst Du dann auch Benutzer deaktivieren, ohne diese löschen zu müssen. Wenn man z.B. mit Fremdschlüsseln arbeitet, d.h. Daten teilweise in anderen Tabellen (Relationen) speichert, kann es ziemlich schnell ecklig werden, wenn man anfängt so etwas zu löschen, weil damit Inkonsistenzen, d.h. Zustände, die eigentlich nicht eintreten dürfen, entstehen können und Dein Programm durcheinander bringen. Deswegen sollte man sich sowieso angewöhnen, möglichst ohne "Löschen"-Operationen zu arbeiten. Keine Angst, die Datenbank läuft auch nicht über, die DB-Managementsystem organisiert die Daten schon möglichst effizient.
Bzgl. deiner Aktivität, nach der nach 30 Minuten ausgeloggt werden soll: Ich würde an Deiner Stelle die letzte Aktivität auch als Attribut in der Relation (Tabelle) speichern und beim Laden einer Seite des geschützten Bereichs dieses Attribut updaten, bzw. prüfen, ob der letzte Eintrag schon länger als 30 Minuten her ist. Wenn Du einfach auf die log-out datei verweist, könnte man das System einfacher überlisten...
von Philipp Gérard
a) in dein formular ein feld einbauen, in dem du die anzahl an faillogins einsetzt und bei jedem faillogin diese zahl um eins erhöhen. wenn eine zahl >= 3 übermittelt wird einfach abweisen und ip auf den index (tabelle) setzen.

Nach oben