2014-02-06 3 views
2

도메인, 경로 및 httponly 특성이 유지되지 않는 ColdFusion 세션 쿠키에서 이상한 동작이 발생합니다.이상한 세션 쿠키 동작

내 application.cfc 파일에 this.setclientcookies이 false로 설정되어 있습니다.

내 onSessionStart 이벤트에서 나는 다음 코드가 있습니다

<cfset sessionRotate()> 
<cfcookie name="CFID" value="#session.cfid#" path="#application.sessioncookiespath#" domain="#application.sessioncookiesdomain#" httponly="yes"> 
<cfcookie name="CFTOKEN" value="#session.cftoken#" path="#application.sessioncookiespath#" domain="#application.sessioncookiesdomain#" httponly="yes"> 

나는 CFID 및 CFTOKEN 쿠키가 올바른 값으로 브라우저로 전송받을 페이지를 방문하여 처음으로, 도메인, 경로 만기일 등

그러나 요청 쿠키를 후속 요청에 대해 볼 때 쿠키의 값은 모두 손실됩니다.

브라우저를 닫았다가 다시 열고 동일한 쿠키가 서버로 전송 된 페이지로 이동하면 브라우저가 닫힐 때 쿠키를 삭제하는 예상되는 동작 대신 동일한 세션이 발생합니다.

아무에게도이 문제에 관해 밝힐 수 있습니까?

감사합니다.


Sean에 대한 응답으로.

응답 쿠키는 www.domainname.com/sub 초기 요청에 반환

설정 쿠키 CFID = 123456; 도메인 = .domainname.com; 만료 = 금, 2014 년 2 월 7 일 15:12:33 GMT; 경로 =/하위; HttpOnly

쿠키 설정 CFTOKEN = 2cf168a89952feec % 2D4DAC5903 % 2D1DD8 % 2DB71C % 2D3B0166C2FDAF5D6B; 도메인 = .domainname.com; 만료 = 금, 2014 년 2 월 7 일 15:12:33 GMT; 경로 =/하위; Http 만

다른 페이지 (은/하위 디렉토리와 같은 수준 또는 더 깊은에서 모든 페이지) 또는 같은 페이지에

후속 요청 (즉,이 페이지를 새로 고침) 다음과 같은 요청 쿠키 문자열을 보내 :

CFID을 = 191,297 ; CFTOKEN = 2cf168a89952feec % 2D4DAC5903 % 2D1DD8 % 2DB71C % 2D0B0166C2FDAF5D6D; ASP.NET_SessionId = s43bplyduc0hkgintth4gcqh

+0

, 당신은 당신이 새로 고치거나 다른 페이지로가는 의미합니까? 다른 페이지 인 경우 사용중인 경로 및 도메인 인수의 값에 따라 달라질 수 있습니다. 변수를 표시하는 대신 사용중인 실제 값과 서버에서 요청하는 페이지의 경로를 넣을 수 있습니까? –

+0

@SeanCoyne 제 편집 내역을 참조하십시오. – Michael

+1

좋습니다. 전송 된 헤더입니다. 첫 번째 부부가 쿠키를 정하고 있습니다. 이후의 것들은 브라우저에 의해로드되는 쿠키입니다. 도메인과 경로가 일치하지 않는다면 (브라우저가 보낸 것과 같음) 브라우저가 파일을 보내지 않을 것이지만 전송하는 것이므로 제대로 작동합니다. 제쳐두고, J2EE 세션을 사용하면 세션에 더 많은 행운을 가져다 줄 것이며, 이는 cfid 및 cftoken 쿠키 대신 jsessionid 쿠키를 설정합니다. 유스 케이스가 무엇인지 정확히 모르겠지만 항상 J2EE 세션 인 FWIW를 사용합니다. –

답변