2012-05-27 1 views
5

$. 쿠키는 이전에 서버 응답에 의해 설정된 쿠키를 읽지 않습니다.

$ .cookie()로 설정된 쿠키를 읽을 수 있습니다.

파이어 폭스 웹 개발자 애드온으로 설정된 모든 도메인 쿠키를 볼 수 있습니다.
또한 서버 쪽에서 요청 쿠키를 볼 수 있으므로 브라우저에 쿠키가 있습니다.

나는 만료 시간이없는 것으로 실험했다. 이런 식으로 전송 http://en.wikipedia.org/w/index.php?title=HTTP_cookie#HttpOnly_cookie

쿠키가 document.cookie를 통해 액세스 할 수 없습니다 :

+0

쿠키를 철저히 비교한다면 어떨까요? 그들이 다르게 행동한다면 - 약간의 차이가 있습니다. – zerkms

답변

6

문제는 여기에 설명 된대로 서버 측 설정 Http 만에 쿠키를 보내는 것입니다. 이는 일반적으로 사이트에서 가능한 XSS 공격으로부터 쿠키 값을 보호하는 데 사용됩니다.

편집 : 쿠키를 설정하기 위해 서버 측에서 사용중인 기술은 언급하지 않았습니다.

https://www.owasp.org/index.php/HttpOnly#Using_PHP_to_set_HttpOnly

1

UPDATE : 당신이 PHP를 사용하는 경우,이 링크는 Http 만 플래그가 설정 될 수있는 가능한 방법을 나열 내 원래의 대답은 잘못했다 (아래 참조) 페이지를 더 아래로 경로 트리는 상위 수준 쿠키를 읽을 수 있으므로 경로가 정확하게 일치하지 않아도됩니다. 다른 사람이 같은 실수를 저 지르면 내 원래 답변을 남겨주세요. 내 문제는 자바 스크립트에서 쿠키를 설정 한 다음 쿠키 서버 측을 수정하려고했기 때문에 발생했습니다. 서버가 경로 "/"로 쿠키를 타겟팅 했으므로 "/ mypages"경로의 쿠키가 변경되지 않았습니다.

$ .cookie는 현재 문서 경로 아래에서만 쿠키를 읽을 수 있으므로 페이지가> mysite.com/mypages/mypage.aspx 인 경우 쿠키를 설정할 때 서버가 경로를 "/"로 설정하고, >하지만 $ .cookie는 "/ mypages"경로에서 읽으려고 시도하고 쿠키를 읽지 않습니다. 나는이 문제에 직접 뛰어 갔다. 이와 같이 다른 경로가 없다면 문제가 아닐 수도 있습니다.

관련 문제