XSS
공격을 방지하기 위해 httponly
플래그를 사용하는 여러 가지 방법을 시도했지만 모두 실패했습니다. 자바 코드에서 쿠키와 전면 JSP 파일에 두 개의 테스트 매개 변수를 설정 document.cookie
의 경고 자바 스크립트를 포함HttpOnly 플래그가 tomcat6.0.36에서 작동하지 않습니다.
일반적인 방법은 테스트 결과를 들어 context.xml에
에 사용 Http 만 = true
을 설정하는 것입니다 Java 코드에서 설정된 두 개의 테스트 매개 변수는 경고에 나타나서 표시됩니다.
자바 코드 : JSP 파일에서
Cookie cookie = new Cookie("httponlytest","testsss");
response.addCookie(cookie);
Cookie cookie1 = new Cookie("testhttponly","successfu");
response.addCookie(cookie1);
자바 스크립트 :
alert("cookie------------"+document.cookie);
- 내가 잘못했는지 있나요?
- 방법을 알고 있다면 매우 유용 할 것입니다. Http 만 모르는 다른 사람을 위해
답변 해 주셔서 감사합니다. – zjzhangkui
당신은 문맥에서 useHttpOnly = "true"를 설정함으로써 JSESSIONID에 대한 작업 일 뿐이라는 것을 의미합니다. 백엔드 자바 코드에 설정된 쿠키는 여전히 javascript로 얻을 수 있습니다. 그렇다면 XSS 공격을 막을 수 있습니까? 자바 코드에서 쿠키를 setSecure (true)로 설정했다면 자바 스크립트에서이 쿠키를 가져올 수 없습니다. – zjzhangkui
'setSecure'는'https :'를위한 것입니다. [Cookie.setHttpOnly (true)] (http://docs.oracle.com/javaee/7/api/javax/servlet/http/Cookie.html)를 사용하십시오. –