我希望即使浏览器关闭,用户也不需要重新登录。我的cookies设置为一个月后过期。
当用户成功登录时,请执行以下操作:
当用户成功登录时,请执行以下操作:
$session = CGI::Session->new (undef, undef, {Directory=>'tmp/'})
or die CGI::Session->errstr;
$session->param('username', $username);
$session->expire('+1M');
$cookie = $cgi->cookie( -name=>$session->name, -value=>$session->id );
print $cgi->header(-cookie=>$cookie );
然后他们将被重定向到另一个页面,只要他们不关闭浏览器就可以访问该页面。以下是第二个页面的代码:
my $cookie = $cgi->cookie('CGISESSID');
if ($cookie){
print $cgi->header(-cookie => $cookie);
else{
//ask them to relog in
}
我可以看到在tmp/目录下创建了会话。当浏览器关闭后,如何加载现有的cookie?如何根据用户/浏览器知道要加载哪个会话?
expires
设置为什么?2)在重新启动浏览器但在返回到 CGI 之前,您能否查看 cookie?您的 CGI 代码可能正在删除 cookie。 - ThisSuitIsBlackNot