Javascript를 통해 쿠키를 HttpOnly로 설정


87

쿠키가 없습니다 JavaScript HttpOnlyHttpOnly통해이 쿠키를 설정할 수 있습니까 ?


1
JavaScript 자체가 조작 할 수없는 쿠키를 JavaScript로 어떻게 설정할 수 있습니까? 서버 측에서 설정하십시오.
BalusC 2013

1
쿠키는 HttpOnly가 아니며 Javascript를 통해 HttpOnly로 설정하고 싶습니다.

5
HttpOnly의 요점을 놓친 것 같습니다.
BalusC 2013

좋은 질문입니다. 보안이 진행되는 한 클라이언트에서 HttpOnly 쿠키를 설정하는 데에는 실제로 단점이 없습니다. 그래서 당신은 그것이 허용 될 것이라고 생각할 것입니다. 그러나 물론 그렇지 않습니다.
PHP Guru

답변:


171

HttpOnly그것의 쿠키 수단 하지 자바 스크립트와 같은 스크립트 언어로 사용할 수 있습니다. 따라서 JavaScript에서는 HttpOnly쿠키 의 속성 을 가져 오거나 설정하는 데 사용할 수있는 API가 전혀 없습니다 HttpOnly. 그렇지 않으면 .

서버 측에서 사용하는 서버 측 언어를 사용하여 서버 측에서 이와 같이 설정하십시오. 이를 위해 JavaScript가 절대적으로 필요한 경우, HttpOnly 쿠키를 생성하기 위해 서버 측 언어를 트리거하는 특정 요청 매개 변수와 함께 일부 (ajax) 요청을 보내는 것을 고려할 수 있습니다. 그러나 해커가 HttpOnlyXSS만으로 쉽게 변경하고 JS를 통해 쿠키에 액세스 할 수 있으므로 쿠키를 HttpOnly완전히 쓸모 없게 만들 수 있습니다.


4
"EditThisCookie"브라우저 확장과 같은 클라이언트 측 앱이 어떻게 HttpOnly 플래그를 false로 변경할 수 있는지 궁금합니다.
pavanw3b

1
@ PavanW3b : JavaScript와 같은 클라이언트 측 스크립팅 언어를 사용하지 않습니다. 브라우저 확장 일뿐입니다.
BalusC

10
@BalusC 브라우저 확장은 JS로 작성되었으며 한동안 developer.chrome.com/extensions "HTML, JavaScript 및 CSS와 같은 웹 기술을 사용하여 작성했습니다." developer.mozilla.org/en-US/Add-ons/WebExtensions/… "표준 웹 기술 (JavaScript, HTML 및 CSS)과 일부 전용 JavaScript API를 사용하여 작성되었습니다."그리고 2013 년에 작성된 오픈 소스 예제 github.com/Asana/Chrome-Extension-Example
저스틴 Hamade

52
HttpOnly쿠키가 여전히 스크립트에서 읽을 수없는 한 JS에서 HttpOnly를 설정할 수 있다는 것이 어떻게 "의미를 무너 뜨리는 지"모르겠습니다 .
hallo

4
MDN은 금지되어 있습니다. developer.mozilla.org/en-US/docs/Web/HTTP/…
mpoisot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.