【问题标题】:csrf token without jsp (spring mvc)没有jsp的csrf令牌(spring mvc)
【发布时间】:2015-11-03 05:19:16
【问题描述】:

我在 Spring 安全配置中启用了 csrf 令牌。但是移动设备如何接收 csrf 令牌?当我有jsp时,它看起来像:

<input type='hidden' name='${_csrf.parameterName}' value='${_csrf.token}'/>

但是现在我没有jsp...所以有什么方法可以手动发送csrf?

【问题讨论】:

  • 你在spring security config xml中声明了吗?
  • 当我们从不同的域访问服务时,最好禁用 csrf 令牌。

标签: spring rest security token csrf


【解决方案1】:

一种流行的做法是编写一个过滤器以将令牌附加为 cookie。然后,您的客户端首先发送一个 GET 请求以获取该 cookie。对于后续请求,该 cookie 然后作为标头发送回。

可以看官方Spring Angular guide,具体实现参考Spring Lemon的源码。

【讨论】:

    【解决方案2】:

    您可以实施无状态 CSRF 保护。一种解决方案nicely explained by Robbert van Waveren让客户端在 Cookie 和自定义 HTTP 标头中生成并发送相同的唯一秘密值

    考虑到一个网站只允许为其读取/写入一个 Cookie 自己的域,只有真实站点可以在两者中发送相同的值 标题。使用这种方法,您的服务器所要做的就是检查是否 两个值相等,在每个请求的无状态基础上!

    【讨论】:

      【解决方案3】:

      如果启用了 CSRF,则必须在要登录或注销的页面中包含 _csrf.token。否则登录和注销都会失败。

      Refer this 获取更多帮助。

      编辑:您可以从请求中获取 csrf 令牌并根据您的需要发送。我已经分享了两个关于 csrf 令牌的参考资料,请仔细阅读。它会帮助你。

      First Ref
      Second Ref

      【讨论】:

        猜你喜欢
        • 2012-03-06
        • 2016-05-12
        • 2022-07-29
        • 2011-12-11
        • 1970-01-01
        • 2017-07-23
        • 2015-09-26
        • 1970-01-01
        • 2017-09-07
        相关资源
        最近更新 更多