什么是安全令牌?为什么在表单中使用它?

时间:2013-03-20 10:28:21

标签: php security

我在许多论坛和其他网站上看到他们在POST或GET方法中使用安全令牌(长字符串)。例如(POST方法):

<input
    type="hidden"
    name="securitytoken"
    value="1363774829-89afb5d0fbcd2f8d55db0b675061d62bd21ca94e"
/>

GET方法示例:

http://www.example.com?attribute=xyz&token=f0ec0e8e1622a030cbc543d3ac42729e

这个安全令牌是什么?为什么要使用它?它提供什么类型的安全性?应该在哪里使用?

1 个答案:

答案 0 :(得分:4)

这可能是防止&#34; CSRF&#34; (跨站点请求伪造)。

例如,

  • 您已登录论坛
  • 你去evilhacker.com
  • evilhacker有一个自动提交表单,可以向论坛发送垃圾邮件
  • 因为您已登录,所以您(以您的名义)发布了垃圾邮件。

但是因为论坛需要一些与你的会话相关联的令牌(因此,恶意攻击者不能以自己的形式猜测它),该帖子被拒绝而你没有发布垃圾邮件。

如果您想查看一些详细信息,请read this paper