2013-03-20 66 views
1

我曾在许多论坛和其他网站看到他们在POST或GET方法中使用安全令牌(长字符串)。例如(POST方法):什么是安全令牌?为什么它在表单中使用?

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

GET方法例如:

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

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

+0

它看起来像一个随机数http://en.wikipedia.org/wiki/Cryptographic_nonce。但除非我看到代码,否则我不确定。 – 2013-03-20 10:30:44

+1

也可能是[CSRF保护](http://en.wikipedia.org/wiki/CSRF)。 – Koterpillar 2013-03-20 10:32:39

回答

4

这可能是一个令牌,以防止“CSRF”(跨站点请求伪造)。

例如,

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

    但是因为论坛需要一些与你的会话相关的标记(所以evilhacker无法为自己的表格猜测),这篇文章被拒绝了,你没有发布垃圾信息。

    如果你想看到一些细节,read this paper