programming/jsp

[jsp] P3P 쿠키 사용 설정하기

labj 2015. 6. 8. 09:06

[jsp] P3P 쿠키 사용 설정하기



쿠키 사용이 필요한 서비스에서 사용자가 접속시에 계속 다른 페이지로 이동하는 경우가 발생하고 

로그인을 했는데 아무런 메세지 없이 로그인이 안 되는 경우가 발생했습니다. 

거의 대다수 ie를 사용하는 브라우저에서 발생하고요 


여러가지 경우를 생각해 보았지만 안 되었는데

IE에서 적용하는 쿠키방식중에 P3P란 것이 있더군요 

그걸 적용하니 문제가 거의 다 해결되었습니다.


* IE쿠키 방식











* 적용방법

이 중에서 '모든 쿠키 차단'은 적용하지 못하고 바로 그 전단계인 '높음'인 


 - 압축된 개인 정보 취급 방침이 없는 웹 사이트의 모든 쿠키를 차단합니다.

 - 사용자의 명백한 동의 없이 사용자에게 연락하는 데 사용할 수 있는 정보를 저장하는 쿠키를 차단합니다. 


이 두가지 사항이 적용된 경우에 P3P 설정을 해준 사이트에서는 상관없이 쿠키를 이용 할 수 있습니다. 

여기서 사용한 웹서비스는 JSP로 개발된 사이트라서 header에 다음과 같이 적용하였습니다. 


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

    HttpServletResponse httpServletResponse = (HttpServletResponse) response;

    httpServletResponse.setHeader("P3P", "CP=NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE");

    response = httpServletResponse;

}


web.xml에서 필터를 이용한 것인데 

모든 페이지에서 적용되도록 하려고 

EncodingFilter를 하나 만들어 쓰고 있습니다. 

여기에 코드를 넣어서 적용하였습니다. 


    <filter>

        <filter-name>encodingFilter</filter-name>

        <filter-class>com.jobtoy.common.filter.EncodingFilter</filter-class>

        <init-param>

            <param-name>encoding</param-name>

            <param-value>UTF-8</param-value>

        </init-param>

        <init-param>

            <param-name>forceEncoding</param-name>

            <param-value>true</param-value>

        </init-param>

    </filter>

    

    <filter-mapping>

        <filter-name>encodingFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>



[jsp] P3P 쿠키 사용 설정하기