【问题标题】:React form CSRF security反应形式 CSRF 安全
【发布时间】:2020-10-27 04:45:10
【问题描述】:

我的网站上有一个由 React 创建的联系表。它对公众开放,不需要人们登录。在我的网站中,我为那些需要人员登录的 API 端点实现了 JWT 令牌。使用这些 API 需要人们登录,我将在人们登录后获得一个令牌,然后在每个 API 请求中附加一个 JWT 令牌。但是,由于此表单对公众开放,不需要用户登录,因此我无法从登录中为 CSRF 附加令牌。如何确保表单请求安全?

【问题讨论】:

    标签: reactjs security jwt token


    【解决方案1】:

    首先你可能有兴趣在这里阅读类似的问题:https://security.stackexchange.com/questions/170388/do-i-need-csrf-token-if-im-using-bearer-jwt

    长话短说:

    CSRF 令牌(实际上是反 CSRF 令牌)旨在处理用户会话被保存在 cookie 中的问题。 Cookie 始终自动附加到您的浏览器发出的每个请求。这是一个问题,当您访问向您已登录的站点发出请求的恶意站点时。

    如果您将具有自己逻辑的 JWT 令牌附加到每个单独的请求中,那么您就可以了,并且不需要额外的令牌来防止 CSRF。

    【讨论】:

    • 好吧,我的问题是向公众开放的表格,不需要登录。你说的不适合我的情况。
    • 对不起,我好像误会了。如果端点是公共的,那你为什么要保护它免受 CSRF 的影响呢?有意义吗?
    • 这是我的问题...如果我无法获得登录令牌,如何确保表单安全?
    • 你不能。公共数据通常是不可变的,没有人在没有身份验证的情况下进行任何更改。如果事物是​​不可变的,则不需要 CSRF 保护。
    猜你喜欢
    • 2020-07-26
    • 2018-10-30
    • 2015-08-17
    • 2016-04-08
    • 2019-10-25
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2015-07-25
    相关资源
    最近更新 更多