没有 CSRF 令牌的身份验证

Authentication without CSRF token

我有一个简单的网络应用程序,可以对用户进行身份验证。它在 https 下工作,因为它很简单,它需要两个字段 usernamepassword + csrf token.

现在我已经实现了一个简单的 API,用于验证具有给定用户名和密码的用户是否存在。它在同一个域上使用 jquery.post() 方法调用,也使用 https,但我只提供 usernamepassword.

假设我的 API 目前只有一个功能 "is-registered" 我需要担心什么吗?当然,暴力除外。

Assuming that my API has only one function for the moment "is-registered" do I need to worry about something?

"Something" 范围太广,我无法胜任回答,但您无需担心 CSRF,只要您保持请求及其结果和描述的原因即可。让我告诉你为什么。

CSRF 攻击是指攻击者使用攻击者想要的参数和数据欺骗或强迫用户执行攻击者想要的操作(发送请求),但是是以用户的名义(具有用户的有效会话 and/or用户的其他隐私信息)。

如果网站认为用户提出了请求,但它可能永远不会对任何人造成任何伤害,那么您不需要 CSRF 令牌,尽管他只是被迫这样做。这似乎是你的情况,因为如果用户被迫询问是否存在具有攻击者提供的名称和密码的帐户,这并没有什么害处。

您只需要注意不要根据发送请求的用户更改此类请求的原因及其结果。