나는 다음과 같은 정규식을 사용하여 쿠키에서 세션 ID를 추출 세션 검증 스크립트가 불안정한 작동합니다 SESSION_ID = eac9a769e76a26a619c176b18b5b3db0 수시로 나가 수에서 그러나펄 정규식
:
my $req = Apache2::Request->new(my $r);
my $cookie = $req->headers_in->{Cookie} || undef;
if ($cookie) {
$cookie =~ s/SESSION_ID=(\w+)/$1/;
...
}
쿠키 같은 형식을가집니다 아파치 오류 로그에 다음과 같은 오류 :
[Sat Jan 18 20:32:51 2014] [error] Invalid session ID: SESSION_ID=eac9a769e76a26a619c176b18b5b3db0 at /usr/share/perl5/Apache/Session/Generate/MD5.pm line 42.\n
이 분명이 정규식 가끔 작동하지 않는다는 것을 의미한다 :
$cookie =~ s/SESSION_ID=(\w+)/$1/;
일부 다른 정규식에서 동일한 문제가 발생하며 mod_perl2를 perl 5.10과 함께 실행하고 있습니다. 비슷한 문제가있는 사람이 있습니까? 이 문제를 해결하는 방법?
아파치 오류가 perl 정규식 코드와 어떤 관련이 있습니까? 정규 표현식이 작동하지 않는다는 것이 명백한 이유는 무엇입니까? – Barmar
사이드 노트; '$ cookie = ~ s/SESSION_ID = //;' –
@Barmar, "SESSION_ID = eac9a769e76a26a619c176b18b5b3db0"이 Apache :: Session :: File에 전달되어 "eac9a769e76a26a619c176b18b5b3db0"대신 세션 유효성을 검사 함을 알립니다. – swserg