Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Session_destroy() beim Browser schließen (https://www.delphipraxis.net/33185-%5Bphp%5D-session_destroy-beim-browser-schliessen.html)

Plague 2. Nov 2004 19:42


[PHP] Session_destroy() beim Browser schließen
 
Hallo,

wie kann ich in PHP programmieren, dass beim schließen des Browsers der Session_destroy(); Befehl ausgeführt wird. In JavaScript werde ich das wohl schlecht einbauen können, oder?
Gibt es in PHP sowas wie den Befehl OnClose()?

Gruß
Thomas

alcaeus 2. Nov 2004 19:50

Re: [PHP] Session_destroy() beim Browser schließen
 
Hi Plague,

über einige Umwege kannst du das machen:

Code:
<html>
<head>
<script>
function UnLoad()
{
  (new Image()).src="unload_session.php?id=<DeineID>";
}
</script>
</head>
<body onUnload="UnLoad()">

</body>
</html>
Sollte so funktionieren, ist aber nicht getestet. WICHTIG: HTTP_REFERER in der unload_session.php testen, nicht dass irgendjemand Sessions löschen kann ;)

Greetz
alcaeus

fiasko 2. Nov 2004 20:03

Re: [PHP] Session_destroy() beim Browser schließen
 
Hallo,

Zitat:

Zitat von alcaeus
Sollte so funktionieren, ist aber nicht getestet. WICHTIG: HTTP_REFERER in der unload_session.php testen, nicht dass irgendjemand Sessions löschen kann ;)

Nicht dein ernst, oder? Erstens ist nicht unbedingt ein Referer gesetzt und zweitens kann dort jeder reinschreiben was will.

@Plague:

was du machen kannst ist eigene Handler Funktionen für die Session Verarbeitung schreiben, welches dann beim löschen veralteter Einträge etwas macht. Mehr dazu im PHP Manual.

Plague 2. Nov 2004 20:19

Re: [PHP] Session_destroy() beim Browser schließen
 
Zitat:

Zitat von fiasko
@Plague:

was du machen kannst ist eigene Handler Funktionen für die Session Verarbeitung schreiben, welches dann beim löschen veralteter Einträge etwas macht. Mehr dazu im PHP Manual.

Was bedeutet das?
Funktioniert der 1. Code nicht?

fiasko 2. Nov 2004 21:21

Re: [PHP] Session_destroy() beim Browser schließen
 
Nö, im Allgemeinen nicht.

Plague 2. Nov 2004 21:24

Re: [PHP] Session_destroy() beim Browser schließen
 
Uns wie könnte ich das dann trotzdem verwirklichen?

alcaeus 2. Nov 2004 21:29

Re: [PHP] Session_destroy() beim Browser schließen
 
Zitat:

Zitat von fiasko
Nö, im Allgemeinen nicht.

Es funktioniert schon. Der Code stellt nur eine bedeutende Sicherheitslücke dar, falls HTTP_REFERER nicht abgefragt wird bzw. manipuliert wird.

Greetz
alcaeus

Plague 3. Nov 2004 06:15

Re: [PHP] Session_destroy() beim Browser schließen
 
Nagut, wenn dieser Code ein Sicherheiterisiko darstellt, lasse ich den mal außen vor. Was kann ich denn machen, wo es keine Sicherheitsprobleme gibt. Gibt es vielleicht irgendwo ein Tutorial zu dem Thema? In Google habe ich auch nichts dazu gefunden.

Gruß
Thomas

jim_raynor 3. Nov 2004 08:45

Re: [PHP] Session_destroy() beim Browser schließen
 
Ein abschliessende Lösung wirst du dafür nicht finden. Du kannst einfach auf dem Webserver nicht auf das Schliessen eines Fensters reagieren. Wurde im Webbrowser zum Beispiel JavaScript deaktiviert, dann wirst du nie erfahren, dass der Browser geschlossen wurde.

Vielleicht solltest du einfach nochmal besser beschreiben, was du vorhast. Dann können wir dir vielleicht auch besser helfen :cheers:

alcaeus 3. Nov 2004 09:07

Re: [PHP] Session_destroy() beim Browser schließen
 
Hi Christian,

Zitat:

Zitat von jim_raynor
Vielleicht solltest du einfach nochmal besser beschreiben, was du vorhast. Dann können wir dir vielleicht auch besser helfen :cheers:

Hat er doch...er will beim wechseln der Seite bzw. beim Schließen des Browsers eine php-Datei ausführen, der das session_destroy durchführt.

@Thomas: Ich kenn mich mit den Sessions nicht ganz so gut aus, aber ich weiß dass in phpBB eine maximale Sessionlänge definiert ist, und bei jedem Seitenaufruf jede Session, die älter als diese Zeit ist rausgeworfen wird. Vielleicht kannst du sowas ähnliches implementieren.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz