Java 웹 응용 프로그램에 CSRF 보호 기능을 추가하려고합니다. web.xml에는 서블릿에 대한 CSRF 필터 및 필터 매핑이 구성되어 있습니다. 그러나이 다음 부분을 수행하는 방법을 모르겠습니다. 문서에 따르면 클라이언트에게 반환 된 모든 URL은 HttpServletResponse # encodeRedirectURL (String) 또는 HttpServletResponse # encodeURL (String)에 대한 호출을 통해 인코딩됩니다. 또는 요청할 수있는 요청 매개 변수는 nonce를 name org.apache.catalina.filters.CSRF_NONCE는 상수 org.apache.catalina.filters.Constants.CSRF_NONCE_REQUEST_PARAM의 값입니다.Tomcat 7 및 CSRF 필터
업데이트 아직 403이 금지되어 있습니다. 누구든지 어떤 제안이 있습니까?
다음<filter>
<filter-name>CSRF</filter-name>
<filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
<init-param>
<param-name>entryPoints</param-name>
<param-value>/html,/html/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CSRF</filter-name>
<servlet-name>exampleservlet</servlet-name>
</filter-mapping>
가 JSP 페이지 코드 내가 잘못 뭐하는 거지
<FORM METHOD="POST" ACTION="<%=response.encodeURL("/exampleservlet")%>">
<INPUT TYPE="HIDDEN" NAME="org.apache.catalina.filters.CSRF_NONCE" VALUE="<%=session.getAttribute("org.apache.catalina.filters.CSRF_NONCE")%>">
<INPUT TYPE="HIDDEN" NAME="id" VALUE="0">
입니다 : 여기 은 web.xml의 설정인가?
같은 문제가 있습니다. 누구나 솔루션을 얻을 수 있습니까? –