Php 何时需要使用令牌保护表单(CSRF攻击)?

Php 何时需要使用令牌保护表单(CSRF攻击)?,php,token,csrf,Php,Token,Csrf,据我所知,web开发人员应该创建令牌并将其放入表单的隐藏字段中,以防止CSRF攻击。此外,他应该在会话中保存相同的令牌,然后在提交表单时检查令牌是否相等 我来问。。。是否有必要对所有形式都使用此技术?我的意思是,想象一下为登录而创建的表单。若并没有CSRF保护,我看不出对站点和/或用户有任何伤害,因为用户并没有特权(就像他登录时所拥有的特权一样)。注册也是如此。。。我说得对吗 注意:如果我错了,请向我解释一下这个概念。一般来说,您希望在表单提交后内容/状态发生变化时随时保护您的表单;无论是添加、

据我所知,web开发人员应该创建令牌并将其放入表单的隐藏字段中,以防止CSRF攻击。此外,他应该在会话中保存相同的令牌,然后在提交表单时检查令牌是否相等

我来问。。。是否有必要对所有形式都使用此技术?我的意思是,想象一下为登录而创建的表单。若并没有CSRF保护,我看不出对站点和/或用户有任何伤害,因为用户并没有特权(就像他登录时所拥有的特权一样)。注册也是如此。。。我说得对吗


注意:如果我错了,请向我解释一下这个概念。

一般来说,您希望在表单提交后内容/状态发生变化时随时保护您的表单;无论是添加、删除、编辑还是与外部源共享(“在xyz上共享!”)

一个不需要保护的表单示例是搜索框,因为它不会导致内容的任何更改

如果您不确定,任何会导致某些内容被保存/删除的表单(无论是否在您的网站上)都应该受到保护


如果您确实不确定,只需添加令牌即可,安全无需花费任何费用。

当您遇到以下情况时,CSRF试图防止的危险是:

  • 用户已经登录或其他什么,并且具有一定级别的权限
  • 坏人未经用户许可就利用该权限
  • 有时,这是通过诱使用户在不知情的情况下发出HTTP请求来实现的,例如在图像的源属性中

    您要保护的表单是需要此权限的表单


    有一种疯狂的、不太可能的情况是,这实际上没有意义(你可能已经读过:/)

    在反垃圾邮件措施中也很有用。“共享此页面”链接可能会被垃圾邮件发送者狠狠地敲打,但添加令牌将帮助你阻止它,直到垃圾邮件发送者意识到他们需要处理令牌,而不仅仅是发出5000万个POST请求。问题明确指出“用户正在登录”so 1。不适用,且所述附加不适用。登录表单可以使用CSRF令牌进行保护,以防止用户被诱骗以攻击者身份登录。根据站点的不同,攻击者可能会访问用户的搜索历史记录或添加的信用卡信息。