2011-10-03 3 views
0

나는 mochiweb의 소스 코드를보고 있으며 상속 한 서버의 동작처럼 보이지 않는 쿠키 만료 시간을 테스트하는 숫자를보고 있습니다. mochiweb은 소스에 111과 86417 (하루를 더한 17 초)을 가지고 있지만, 쿠키 만료와 테스트 코드에서 그 중 하나만하는 것처럼 보입니다. (mochiweb_cookies.erl 참조)mochiweb에서 자동 로그 아웃 시간은 어떻게 설정됩니까?

내가보고있는 서버는 약 10-15 분 내에 사용자를 시간 초과하지만 쿠키 값을 설정하는 코드가 보이지 않으며 코드 경로가 보이지 않습니다. 심지어 내가 그것을 설정할 수 있도록 mochiweb 소스를 통해.

아이디어가 있으십니까?

+0

질문의 첫 번째 부분은 매우 모호하며 명확하지 않습니다. mochiweb_cookies.erl 내부에서 정확히 무엇을 찾고 있습니까? –

답변

3

실제로 두 가지 질문이 있습니다. "내 응용 프로그램이 세션 만료를 어떻게 처리합니까?" 및 "mochiweb_cookies으로 쿠키를 설정하려면 어떻게합니까?" 두 번째 질문 만이 더 이상의 정보없이 합리적으로 답변 될 수 있습니다.

Req:ok("text/plain", 
     [mochiweb_cookies:cookie("session", "my-session-id", [{max_age, 86417}])], 
     "you're logged in!") 

mochiweb_cookies : 쿠키/3 및 복귀 mochiweb_request:respondmochiweb_request:okResponseHeaders 인수 값으로 적합한 {"Set-Cookie", "headervalue"} 쌍.

물론 mochiweb_cookies 모듈을 사용하지 않고 mochiweb에서 쿠키를 설정할 수 있습니다. 쿠키는 결국 헤더 일뿐입니다. 응용 프로그램이 머리글을 손수 작성하여 쿠키를 설정하고 있거나 같은 도메인에서 호스팅되는 프록시 또는 다른 응용 프로그램 서비스가 쿠키를 설정할 수 있습니다.

가능한 한 쿠키를 만료해도 사용자가 로그 아웃되지 않도록해야합니다. 최대 연령은 쿠키가 지나간 후 ​​쿠키 전송을 중단하라는 힌트 일뿐입니다. 브라우저 나 공격자는 오해 할 수 있으며 쿠키를 무기한으로 보낼 수 있습니다.