2012-12-05 2 views
57

secure 플래그가있는 쿠키는 암호화되지 않은 연결을 통해 전송되지 않습니다. 이것이 어떻게 작동하는지 궁금합니다.쿠키 "보안"플래그는 어떻게 작동합니까?

쿠키를 보낼지 여부는 누가 결정합니까? 이 암호화 된 연결이 단지

답변

51

클라이언트 세트 RFC 6265에 정의되어

보안 특성은 채널을 "고정"하기 위해 쿠키의 범위를 제한한다 (여기서, "보안"사용자 에이전트에 의해 정의된다). 쿠키에 보안 속성이있는 경우 사용자 에이전트는 요청이 보안 채널 (일반적으로 TLS (Transport Layer Security) [RFC2818]을 통한 HTTP)을 통해 전송되는 경우에만 HTTP 요청에 쿠키를 포함시킵니다.

활성 네트워크 공격자의 쿠키를 보호하는 데 유용 할 듯 보이지만 Secure 특성은 쿠키의 기밀성 만 보호합니다. 활성 네트워크 공격자는 안전하지 않은 채널의 보안 쿠키를 덮어 써서 무결성을 파괴 할 수 있습니다 (자세한 내용은 섹션 8.6 참조). 주제에

+4

클라이언트 측에 아직 쿠키가없고 서버 측 (예 : 로그인)에서 전송해야하는 경우 서버 측에서 응답으로 쿠키를 포함하도록 결정할 것입니까? – ted

+2

서버는 "Set-Cookie headers"를 통해 초기에 쿠키를 설정합니다. – Ivan

22

그냥 다른 단어 : 당신의 웹 사이트 example.com가 완전히 HTTPS 때문에

secure를 생략는 충분하지 않습니다.

사용자가 명시 적으로 http://example.com에 도달하는 경우 https://example.com으로 리디렉션되지만 너무 늦은 경우 첫 번째 요청에 쿠키가 포함됩니다.

+3

이 쿠키는 오래되었지만 HSTS 사전로드는이 문제가 자주 발생하는 것을 방지하여 이러한 상황을 돕습니다. 여전히 100 % 수정 사항은 아니지만 안전한 쿠키를 피하려는 경우 고려해야 할 또 다른 사항입니다. –

+2

@ Mr.MonoChrome 왜 보안 쿠키를 피하기를 원하십니까? – MEMark

+0

@ Mr.MonoChrome 일부 오래된 브라우저 나 낮은 사양의 브라우저에서도 HSTS를 지원하지 않습니다. – Anthony

관련 문제