2010-05-19 5 views
9

자바 스크립트 경고 (document.cookie); 스니퍼는 그것을 보여주고 있지만 .ASPXAUTH 쿠키를 표시하지 않습니다,.ASPXAUTH 쿠키는 어디에 있습니까

는 내가 서버에 AJAX 요청이 있기 때문에 사용자가 이미 로그인 한 경우, 요청이

경우, 발생하지해야 필요 나는. 나는 사용자가 이미 로그인되어 있는지 여부를 확인하기 위해 무엇을해야하는지 보안 이유로, .ASPXAUTH을 확인

감사

답변

9

인증 쿠키가 자바 스크립트에 액세스 할 수 없습니다 의미 HTTP 전용으로 표시됩니다 수 없습니다. 사용자가 인증되었는지 확인하려면 javascript 변수, 숨겨진 필드 또는 코드 숨김에서 선호하는 것을 출력하십시오. 그런 다음 JS에서 쉽게 확인할 수 있습니다.

+2

보안상의 이유로 httpOnlyCookies를 false로 설정하는 것보다 낫습니다. – Costa

4

.ASPXAUTH 쿠키 세트가 있습니다. 분명히 정확합니다. 로그인하면 사용자를 결정하는 데 사용됩니다

당신이 설정 부분에 대한 귀하의 Web.config를 통해 볼 필요 얻으려면 :. 사용자가 성공적으로 인증되면

<authentication mode="Forms"> 
     <forms 
       loginUrl="~/login.aspx" 
       protection="All" 
       timeout="30" 
       name="ExampleSite.FormsAuthentication" 
       path="/" 
       requireSSL="false" 
       slidingExpiration="true" 
       defaultUrl="index.aspx" 
       cookieless="UseDeviceProfile" 
       enableCrossAppRedirects="false" 
       /> 
    </authentication> 

이 쿠키가 설정됩니다 이름 = "ExampleSite.FormsAuthentication"매개 변수를 기반으로합니다. 로그 아웃 한 후 또는 세션이 만료 된 후에 만료됩니다. Chrome/FFX 또는 사용중인 브라우저에서 암호화 된 값으로 ExampleSite.FormsAuthentication이라는 쿠키가 표시됩니다. 분명히 당신이 사용하고있는 이름 매개 변수는 다를 것이고 ExampleSite.FormsAuthentication이 아니라 당신은 아이디어를 얻습니다.

언제든지 쿠키가 있는지 확인할 수 있습니다. 언급 한 바와 같이 http 전용 (JS와 관련)에주의하십시오. web.config에서 해당 값을 재정의 할 수 있으므로 JS로 액세스 할 수 있습니다.

<httpCookies httpOnlyCookies="false" requireSSL="false" domain="" /> 
관련 문제