Portal > Foren > PHP > PHP-Programmierung > Eigener SessionHandler ab PHP 5.0.5
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 26.07.2006, 20:47 Nach oben    #21
leftover when bar closes
 
Benutzerbild von dsxs
 
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
Standard

Kommt drauf an. Wenn du noch ein Cookie sitzen hast (oder die sid im GET mitgibst), wird eine neue Session mit derselben ID gestartet, ob diese nun noch in deiner Datenbank (oder standardmässig als Files) auf dem Server existiert oder nicht.
Sessioncookies sollten vom Browser automatisch gelöscht werden, sobald du ihn schliesst.
session_destroy löscht die Session sowohl bei dir in der DB wie auch im Cookie des Users. Dennoch kann er eine beliebige Session starten, indem er die sid per GET mitgibt.

Deswegen sind Sessions, welche per GET mitgegeben werden auch so gefährlich, ausser man prüft anderweitig, ob sie wirklich vom richtigen User kommen (IP, Browser Version... -> jedoch alle Methoden nicht sehr praktisch, aus bereits genannten Gründen).
Ich habe es nun so gelöst, dass per session_regenerate_id die sid jeweils neu generiert wird, so ist Session-Hyjacking praktisch unmöglich.


War das verständlich? Ich merke gerade, dass ich meine Erkärung nicht verstehen würde und hoffe, dass du es tust.

Gruss
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.
ticketbörse

dsxs ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.07.2006, 21:12 Nach oben    #22
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Ich habe es nun so gelöst, dass per session_regenerate_id die sid jeweils neu generiert wird, so ist Session-Hyjacking praktisch unmöglich.
Wann bzw so setzt du denn session_regenerate_id dann ein?
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.07.2006, 06:50 Nach oben    #23
leftover when bar closes
 
Benutzerbild von dsxs
 
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
Standard

Zitat:
Zitat von Chr!s
Zitat:
Ich habe es nun so gelöst, dass per session_regenerate_id die sid jeweils neu generiert wird, so ist Session-Hyjacking praktisch unmöglich.
Wann bzw so setzt du denn session_regenerate_id dann ein?
Das kannst du gleich nach session_start reinmachen
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.
ticketbörse

dsxs ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.07.2006, 11:57 Nach oben    #24
JaGeK
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dsxs
session_destroy löscht die Session sowohl bei dir in der DB wie auch im Cookie des Users.
Nein, der Cookie bleibt unberührt. Das sollte bei ordentlicher serverseitiger Verwaltung aber kein Problem darstellen.

Zitat:
Zitat von dsxs
Ich habe es nun so gelöst, dass per session_regenerate_id die sid jeweils neu generiert wird, so ist Session-Hyjacking praktisch unmöglich.
Zu dem Thema ein recht interessanter Artikel:
http://shiflett.org/articles/security-corner-feb2004
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.07.2006, 22:08 Nach oben    #25
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Das kannst du gleich nach session_start reinmachen
Ja, danke. Ich habs mehr oder weniger nach session_start() gemacht. Da ich die Session ja Datenbankbasierend speichere hab ich einen kleinen Workaround gemacht, um die alte SessionID zu löschen:
PHP-Code:
<?php
                session_start
();
                
$this -> oSessionHandler -> regenerateSessionID();
?>
PHP-Code:
<?php
        
/**
         * Regenrate the session id for security reasons
         *
         * @return boolean
         */
        
function regenerateSessionID() {
                
$sOldSessionID session_id();

                
// At first we have to destroy the old session
                
if($this -> destroy($sOldSessionID)) {
                        
// If succeeded, we regenerate the sessionID
                        
return session_regenerate_id();
                }

                return 
false;
        }
?>
Falls das jemand braucht, oder so..
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP 5.2 Kompilierung schlägt fehl Byrel Tools, Server, Betriebssysteme 0 03.11.2006 21:09
[Rezension] PHP 5 Kochbuch Artemis Literatur 2 07.09.2006 19:15
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45