무엇이 잘못 되었나요? 나는 자바 스크립트 주입을 작동시킬 수 없다. 여기에 내가 내 web.xml 파일에 넣어 것입니다 : 내 JSP 파일에서CSRFGuard 자바 스크립트가 작동하지 않습니다.
<listener>
<listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class>
</listener>
<listener>
<listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class>
</listener>
<context-param>
<param-name>Owasp.CsrfGuard.Config</param-name>
<param-value>WEB-INF/csrfguard.properties</param-value>
</context-param>
<context-param>
<param-name>Owasp.CsrfGuard.Config.Print</param-name>
<param-value>true</param-value>
</context-param>
<filter>
<filter-name>CSRFGuard</filter-name>
<filter-class>org.owasp.csrfguard.CsrfGuardFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CSRFGuard</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>JavaScriptServlet</servlet-name>
<servlet-class>org.owasp.csrfguard.servlet.JavaScriptServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JavaScriptServlet</servlet-name>
<url-pattern>/JavaScriptServlet</url-pattern>
</servlet-mapping>
,이 줄을 추가 :
<script src="/JavaScriptServlet"></script>
을하지만 제출할 때, 토큰 요청에 추가되지 않습니다 . 나는 코드를 강화하고, CsrfGuard.verifySessionToken (요청)이 라인은 null을 반환 : 내가 지금까지 할 수
String tokenFromRequest = request.getParameter(getTokenName());
있는 유일한 방법은 CSRF 사용자 정의 태그를 사용하여 숨겨진 필드를 추가하여 토큰을 추가하는 것입니다 ala :
<input type="hidden" name="<csrf:tokenname/>" value="<csrf:tokenvalue/>"/>
심지어 "작동하지 않습니다 ... – Kikou