作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个struts2 webapp,我需要在其中实现CSRF保护。对于统计表格来说,这是非常简单的。我只需要激活 tokenSession
拦截器然后设置<s:token/>
在要提交的表格中。 (解释here和here)
但是当我需要为 POST AJAX 调用(我使用的是 jQuery)启用 CSRF 保护(这些调用不一定通过表单提交)时,就会出现问题。我在进行后续 AJAX 调用时面临重新使用 token 的问题。
任何指针或不同的方法都值得赞赏。
最佳答案
目前,我已经通过为 AJAX 请求生成 token 并使用正常响应发送它来解决该问题 -
Map<String, String> tokenInfo = Maps.newHashMap();
tokenInfo.put("struts.token.name", TokenHelper.getTokenName());
tokenInfo.put(TokenHelper.getTokenName(), TokenHelper.setToken());
我将从中抽象出一个 util 方法,并使用 token 激活的操作来返回此方法,作为操作响应的一部分,这些操作将在不刷新页面的情况下重复执行。
不过,我仍在寻找一个优雅的解决方案。
关于jquery - 如何在 Struts2 应用程序中对 AJAX 请求进行 CSRF 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353577/
我是一名优秀的程序员,十分优秀!