쿠키의 httponly 옵션에 대해서
1. 언제 개발되었나?
-2002년 MS IE6.0 SP1 에서 최초 지원
2. 어떤 동작을 하는가?
-클라이언트 브라우저에서 쿠키가 생성될때 httponly 옵션이 있으면
클라이언트 스크립트의 쿠키 요청에 대해서 브라우저는 응답을 하지 않습니다.
-예를 들어 쿠키 생성시 httponly 옵션이 있다면 javascript 의 document.cookie 메소드를 통해
쿠키정보를 브라우저로 부터 획득할 수 없습니다.
3. 왜 만들어 졌는가?
-XSS 를 이용한 쿠키 하이재킹에 대응하기 위해 개발된 기술입니다.
4. 지원하는 브라우저
-Microsoft Internet Explorer 6.0 SP1 이상
-Mozilla Firefox 3.0.0.6+ 이상
-Netscape Navigator 9.0b3 이상
-Opera 9.50 이상
-Google's Chrome
-ASP, JSP 같은 웹 언어하고는 상관 없습니다.
쿠키를 발생하는 Set-Cookie 에 httponly 라는 문자열만 있으면 되며
클라이언트 측 브라우저가 해당 옵션을 지원하냐 못하냐의 문제입니다.
-현재 대부분의 최신 브라우저에서 지원하고 있으며 지원하지 않는다고 해서
에러는 발생하지 않고 단지 옵션이 무시됩니다.
5. MS 의 표준화 노력
-ASP.NET 2.0 환경에서는 시스템 쿠키에서 httponly 는 디폴트로 생성이 됩니다.
-MSDN 발췌
"HttpOnly. This property specifies whether the cookie can be accessed by client script. In ASP.NET 2.0, this value is always set to true. Internet Explorer 6 Service Pack 1 supports this cookie attribute, which prevents client-side script from accessing the cookie from the document.cookie property."
http://msdn.microsoft.com/en-us/library/ms533046.aspx
http://blogs.msdn.com/ie8kr/archive/2009/03/17/ie8-5.aspx
http://www.owasp.org/index.php/HTTPOnly
http://msdn.microsoft.com/en-us/library/aa480476.aspx
출처 : http://blog.naver.com/kim119z
<script type="text/javascript">
function showMeTheCookie()
{
alert(document.cookie);
}
function normalCookie()
{
document.cookie="Name=Value";
showMeTheCookie();
}
function httpOnlyCookie()
{
document.cookie="Name=Value; httpOnly";
showMeTheCookie();
}
</script>
<FORM>
<INPUT TYPE="BUTTON" onClick="normalCookie();" Value="Display Normal Cookie">
<INPUT TYPE="BUTTON" onClick="httpOnlyCookie();" Value="Display httpOnly Cookie">
</FORM>
소스 출처 : http://mkseo.pe.kr/blog
'Coding > Etc' 카테고리의 다른 글
MySQL 문자열관련 함수 (0) | 2015.01.27 |
---|---|
PHP실행기 (0) | 2014.05.29 |
ereg / eregi / ereg_replace / eregi_replace 함수 (0) | 2014.05.04 |
PHP 정규표현식 (0) | 2014.05.04 |
기본적인 MySQL 문법 (0) | 2014.05.02 |