브라우저를 닫더라도 로그인 할 필요가 없도록하고 싶습니다. 내 쿠키는 한 달 후에 만료됩니다. 성공적으로Perl CGI 영구 쿠키
$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 = $ cgi-> cookie ('CGISESSID')인지 확실하지 않은 문서를 읽었습니다. 아무것도 돌려주지 않을거야? 두 번째 파일에 새 cgi 객체를 만드는 중입니다. 아마도 그 이유는 무엇일까요? – Jabda
@Jabda 귀하의 브라우저가 쿠키를 실제로 받았는지, 올바른 세션 ID를 가지고 있는지 확인 했습니까? Firefox에서는 '편집 -> 환경 설정 -> 개인 정보 -> 개별 쿠키 제거'로 이동하여이 작업을 수행 할 수 있습니다. 사이트별로 구성된 모든 저장된 쿠키 목록이 제공됩니다. 또한 검색 기능이 있습니다. – ThisSuitIsBlackNot
예 브라우저를 닫기 전에 쿠키가 표시됩니다. 브라우저를 다시 열고 페이지로 다시 이동하면 브라우저에 쿠키가 없습니다 (쿠키가/tmp에 있음) – Jabda