PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache logout ??



real-challo
06.02.03, 22:53
Hallo !

Man kann doch bei Apache Zugriffsrechte für Verzeichnisse mit .htaccess geben.
Kann man irgendwie auch die Zeit beschränken ?

Problem:
Ich habe auf meiner HP einen geschützten Bereich. Manchmal vergesse ich den Browser nacher wieder zu schliessen. Wenn sich aber jemand anderer an den PC-setzt, wäre er ja schon im geschützten Bereich.

Ich möchte, dass entweder grundsätzlich z.B. nach 1 Std. man nochmal Login und Passwort eingeben muss, oder wenn z.B. 1 std. nichts passiert (keine Aktivität auf der HP), dass man ausgeloggt wird ... - also die Sitzung auf Zeit begrenzen.

Kann man das irgendwie ?

netzmeister
06.02.03, 23:38
Hallo,

am besten schaust Du Dir mal die Dokumentation zum Protokoll durch.

Dann wird Dir Alles klar werden :)

Viele Grüße

Eicke

real-challo
07.02.03, 07:48
Original geschrieben von netzmeister
Hallo,

am besten schaust Du Dir mal die Dokumentation zum Protokoll durch.

Dann wird Dir Alles klar werden :)

Viele Grüße

Eicke

Ja, solche Anworten liebe ich

Trotzdem Danke ;)

Also : Die Frage ist immer noch aktuell !!

netzmeister
07.02.03, 08:11
Hallo,

es gibt kein "Logout" beim http Protokoll!

Normalerweise löst Mann/Frau das über Sessions, die verfallen nach einer bestimmten Zeit.
Oder mit Cookies, das ist eine weitere Möglichkeit.

Viele Grüße

Eicke



:eek:

real-challo
07.02.03, 10:22
... und wie macht man das mit der Session ?

netzmeister
07.02.03, 10:39
Hallo,

das ist nich so einfach und mal eben schnell erklärt. Etwas einarbeiten wirst Du Dich schon
müssen.

Du könntest das z.B. mit PHP, ASP oder auch mit Perl lösen.

Viele Grüße

Eicke

michael.sprick
07.02.03, 15:31
ja - http kennt keinen Logout oder sowas....
Das einzige was hilft, ist Browser schließen, und wieder neu öffnen...

Das mit den Sessions ist im Prinzip einfach - kann aber je nach Homepage ziemlich umfangreich werden.

Zunächst mal realisierst Du die Zugangskontrolle nicht mehr via .htaccess, sondern mit einer eigenen Benutzerdatenbank. z.B. in Form einer Textdatei und einem Perlscript (oder php,asp,sh,jsp....)

Wenn der Benutzer sich einloggt, musst Du im Script eine SessionID vergeben. u.U kannst Du dazu $ENV{UNIQUE_ID} benutzen.
Weiter brauchst Du die Zeit des Einloggens und die maximale Dauer der Session....

beides speicherst Du ab. vorzugsweise in mySQL

bei jedem Klick innerhalb des geschützen Bereichs muss die Session ein Update erfahren....sonst läuft sie ab, obwohl du wie wild am klicken bist...

also

0.) Login
1) wenn erfolgreich, ID vergeben
2) Timestamp und ID abspeichern,
3) Beim nächsten Klick überprüfen, ob eine Session existiert, wenn ja, ist sie gültig? wenn ja - updaten - danach angeforderte Seite darstellen

ansonsten, Fehlermeldungen rausgeben oder zum erneuten Login auffordern....

viel Spass beim programmieren :-)