Java 向窗体中注入多个标记

Java 向窗体中注入多个标记,java,struts,owasp,Java,Struts,Owasp,在我的Java Strutr应用程序中,我使用OWASP库版本3.1来防止CSRF。 由于结构复杂,我有多个脚本标记。它被添加到多个页面上,有时一个页面包含另一个页面 <script src="<%=request.getContextPath()%>/JavaScriptServlet"></script> 当同一页上存在此多个标记时,我在Internet Explorer上遇到问题。如果存在,则将多个令牌添加到表单中。我在Internet Explo

在我的Java Strutr应用程序中,我使用OWASP库版本3.1来防止CSRF。 由于结构复杂,我有多个脚本标记。它被添加到多个页面上,有时一个页面包含另一个页面

<script src="<%=request.getContextPath()%>/JavaScriptServlet"></script>

当同一页上存在此多个标记时,我在Internet Explorer上遇到问题。如果存在,则将多个令牌添加到表单中。我在Internet Explorer上查看页面时看到它

<FORM method=post name=myForm action=/myAction.do?OWASP_CSRFTOKEN=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI&amp;OWASP_CSRFTOKEN=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI&amp;OWASP_CSRFTOKEN=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI&amp;>

它还使用令牌添加多个输入

<INPUT type=hidden value=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI>
<INPUT type=hidden value=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI>
<INPUT type=hidden value=54AE-VJT1-2OZM-4CZV-LMQI-CUEV-BGL1-EQRI>


是否有类似的问题?

因为所有的令牌都是相同的,所以不应该担心这些页面如何工作。你应该没事的

整合的唯一方法是为脚本提供一个ID,并在再次声明之前检查它是否存在

或者,您可以重构所有jsp,这样在任何情况下,某种“基本”jsp都可以确保只插入一次

如果您没有看到令牌冲突(CSRFGuard拒绝的日志),那么您就不必担心