我是一个 Perl 新手,我遇到了这个问题:
我有一个 _login.cgi 脚本,它管理登录并在凭据正确时重定向到 index.cgi 页面:
if (functions::check_credentials($input{"username"}, $input{"password"}) eq true ){
$session = new CGI::Session("driver:File", undef, {File::Spec->tmpdir});
$session->param("name", "Carcarlo Pravettoni");
$cookie = $page->cookie(CGISESSID => $session->id);
print $page->redirect( -URL => "index.cgi" -cookie=>$cookie);
} else {...}
但是当我使用正确的凭据尝试它时,我得到一个无限重定向循环到 _login.cgi (这个脚本本身)。
相反,如果我不发送带有重定向的 cookie,一切正常:
if (functions::check_credentials($input{"username"}, $input{"password"}) eq true ){
$session = new CGI::Session("driver:File", undef, {File::Spec->tmpdir});
$session->param("name", "Carcarlo Pravettoni");
$cookie = $page->cookie(CGISESSID => $session->id);
print $page->redirect( -URL => "index.cgi");
} else {...}