我为每个会话生成一个随机的反 CSRF 令牌并将其存储在 cookie 中(http_only设置了标志)。然后我将该标记添加到表单(在隐藏的输入字段中)和链接中。
在服务器上接收请求时,我检查表单或链接的cookie和anti-CSRF token字段是否存在,并且这两个值相同;如果不是,则认为是 CSRF 攻击,请求会被拒绝并带有适当的消息。
这种机制至少是安全/足够的吗?(也就是说,在浏览器没有安全漏洞的情况下。)
我认为攻击者无法读取或设置他不拥有的域的 cookie,因此他无法伪造具有相同令牌的请求。