gpt4 book ai didi

security - 如何在Struts2上实现CSR防伪代码?

转载 作者:行者123 更新时间:2023-12-02 19:22:36 27 4
gpt4 key购买 nike

我在 struts.xml 和所有表单中添加了一个拦截器,以防止 Cross-site Request Forgery攻击。我想知道我是否应该做点别的事情?例如检索 token 并与随表单一起提交的 token 进行匹配,以防它不会自动完成。

  <interceptors>
<interceptor-stack name="defaultSecurityStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="tokenSession">
<param name="excludeMethods">*</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>

<default-interceptor-ref name="defaultSecurityStack"/>

所有表格都有

  <s:form ...>
<s:token/>
...
</s:form>

最佳答案

首先,我认为你应该把token拦截器作为堆栈上的第一个拦截器。这样,当 token 不匹配时,您的代码就不会执行。

其次,<param name="excludeMethods">*</param>意味着您从未使用过此拦截器。

最后,token拦截器会自动检查表单参数中的 token 与 session 中的 token 。如果不匹配,则返回结果 invalid.token您可以通过它改变流程,如下所示

<result name="invalid.token" type="redirectAction">
<param name="actionName">wrongToken.jsp</param>
</result>

以下网址值得一读:

关于security - 如何在Struts2上实现CSR防伪代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22802225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com