微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CSRF:对于没有 cookie 的站点,我是否需要使用 CSRF 令牌?

如何解决CSRF:对于没有 cookie 的站点,我是否需要使用 CSRF 令牌?

我真正想知道的是,我是否需要将 CSRF 令牌添加到不使用 cookie 的站点上的表单中?我不在我的网站上使用 cookie,我使用会话。当然,对于我的所有表单,我都使用 post 方法。如果我需要使用它们,你能解释一下原因吗,因为我读到 CSRF 攻击是通过存储在 Web 浏览器中的 cookie 发生的。所以,我的逻辑是没有 cookie,没有 CSRF 攻击。我说的对吗?

提前致谢。

解决方法

所以,我的逻辑是没有 cookie,没有 CSRF 攻击。我说的对吗?

不,你不正确。

如果您的 Web 客户端更改了服务器的状态(包括更改服务器使用的数据库中的数据),则可能发生 CSRF 攻击,您需要 CSRF 保护。如果您的 Web 客户端不更改/改变服务器的状态(例如仅读取、列出数据),则不需要 CSRF。

以上适用于任何会话和 cookie。

例如,您的网络服务器仅列出您最喜欢的城市过去 10 年的平均每日温度。每个人都可以看到这些数据,因此服务器不会对用户进行身份验证,也没有会话。而且没有饼干。但是,您不希望某些“脚本小子”编写脚本并每天无休止地调用您的 API 端点进行数百万次调用。因此,您实施速率限制。您还会在一段时间内(例如 1 小时或 1 天)阻止作为超出限制的 API 请求来源的客户端 IP 地址。 (这种阻塞是作为例子提到的,它是否是一个好主意超出了我们的主题范围)

在这种情况下,您仍然需要 CSRF 保护,因为攻击者可以发起 CSRF 攻击,导致受害者无法使用您的服务器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。