...CGI :: 세션 및 HTTP : 로그인 (펄)에 대한 CryptoCookie는 지금까지 모든 곳에서 읽은 내용에서
CGI :: 세션 (http://metacpan.org/pod/CGI::Session)는 펄을 사용하여 세션 관리의 선호하는 방법이 될 것으로 보인다. 사용 가능한 광범위한 자습서가 있습니다.
HTTP :: CryptoCookie는 상대적으로 사용 빈도가 적습니다.
나는이 간단한 코드로 CGI :: 세션을 사용하여 쿠키를 설정 할 수 있었다 :#Session
my $cgi = CGI->new;
$CGI::DISABLE_UPLOADS = 1; # Disable uploads
$CGI::POST_MAX = 512 * 1024; # limit posts to 512K max
my $session = CGI::Session->new('driver:mysql', undef,
{
TableName=>'database',
IdColName=>'id',
DataColName=>'sessionvalue',
Handle=>$dbh,
});
$session->expire('+1y');
print $session->header();
$session->flush();
내가 CGI의 소스 코드에 표시되지 않습니다 :: 세션, 암호화의 조짐, 그래서 ' 조금 걱정 스럽네.
는나는 CPAN 자습서를 읽기,이 줄을 알되었다
"기본 CGI으로는 :: 세션 쿼리와 쿠키를 구문 분석하는 표준 CGI를 사용합니다."
내가 HTTP : Cryptocookie를 사용할 수 있다고 생각하니? 표준 쿠키 대신 암호화 된 쿠키를 보내서 내 로그인 스크립트의 보안을 강화하는 표준 CGI 대신에? 그러나 HTTP :: Cryptocookie에 대한 문서는 매우 부족합니다. Google에서 아무 것도 찾지 못했습니다.
누군가 나를 도와 줄 수 있습니까?
하지만 CGI :: Session은 세션 ID를 만들기 위해 기본적으로 MD5를 사용합니다. 동일한 세션 ID를 사용하여 쿠키를 설치하기가 어렵지 않습니다. 적어도 안전하지는 않습니까? –
쿠키를 HTTPS로 제한하지 않고 CGI가 사용하는 정보가 HTTPS를 통해 전송 되어야만 md5 해시가 임의의 숫자가되므로 쿠키를 훔치는 것이 점점 더 쉽습니다. HTTP :: Cryptocookie는 md5를 깨는 것보다 훨씬 문제가되는 쿠키 도난을 방지합니다. – user1937198
음, 음 ... 아직도 두 가지를 사용하여 얻지 못하는 것이 더 좋지 않습니까? 나는 의미한다. CGI : 세션은 쿠키를 사용하여 세션 ID 만 저장하고있다. 그 쿠키도 바로 도둑질이 가능하니? 그러나 CGI :: Session에 의해 생성 된 동일한 세션 ID를 보내는 HTTP :: Crypto Cookie를 사용하여 생성 된 쿠키는 상대적으로 더 좋은 옵션이되어야합니다. –