Thread [CGI] Cookie aus Browser löschen
(12 answers)
Opened by GwenDragon at 2016-09-08 16:51
Wie kann ich in einer Webanwendung den Browser zwingen ein ein bestehendes Cookie zu löschen?
Das Ändern von Expire in die Vergangenheit ist ja nicht die Lösung. Ausschnitt aus der zu patchenden Webanwendung: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 %prefs; %prefs = CGI::cookie('prefs'); .... .... .... $prefs{'saveprefs'} = CGI::param('saveprefs'); $prefs{'name'} = CGI::param('name'); $prefs{'email'} = CGI::param('email'); $cookie = CGI::cookie( -name => 'prefs', -value => [ %prefs ], -expires => '+1d', -domain => $ENV{SERVER_NAME}, -path => '/', -httponly => 1 -secure => 1 ); .... .... .... print CGI::header( - cookie=> [ $cookie ]); Einen leeren Wert zu senden, löscht es ja nicht mit: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 $cookie = CGI::cookie( -name => 'prefs', -value => '', -expires => '+1d', -domain => $ENV{SERVER_NAME}, -path => '/', -httponly => 1 -secure => 1 ); Und daraus ein Sessioncookie zu machen, auch nicht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 $cookie = CGI::cookie( -name => 'prefs', -value => '', -domain => $ENV{SERVER_NAME}, -path => '/', -httponly => 1 -secure => 1 ); Solange der Browser gestartet ist, bleibt doch das Sessioncookie gültig. Habe ich da einen Denkfehler, ob das Löschen nötig ist? |