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 ]);
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 );
1 2 3 4 5 6 7 8
$cookie = CGI::cookie( -name => 'prefs', -value => '', -domain => $ENV{SERVER_NAME}, -path => '/', -httponly => 1 -secure => 1 );
2016-09-08T14:51:07 GwenDragonDas Ändern von Expire in die Vergangenheit ist ja nicht die Lösung.
2016-09-08T14:51:07 GwenDragonDas Ändern von Expire in die Vergangenheit ist ja nicht die Lösung.
Guest janusEin Cookie ist Sache des Clients und das sollte auch so gehandhabt werden. Dementsprechend könnte eine Lösung so aussehen, dass der Anwender per JavaScript den Cookie/Wert neu setzt und dann per JavaScript ein reload(true) auslöst. So geht der Cookie mit dem neuen Wert sofort zum Server, die Seite wird neu geladen und der Anwender sieht das Ergebnis gleisch.
Cookie: prefs=saveprefs&1&name&Ox&email&; prefs=saveprefs&0&name&test&email&
2016-09-10T07:02:36 GwenDragonob da ein Browsersitzungscookie oder ein "normales" gesendet wird.