例如攻击和防范我有一个网站,人们可以把这样的投票:CSRF(跨站请求伪造)在PHP
http://mysite.com/vote/25
这将会把我只想就项目25票使其可用于注册用户,并且只有当他们想要这样做时。现在我知道,当有人忙在网站上,有人给了他们这样一个链接:
http://mysite.com/vote/30
然后投票将在项目为他的地方没有他想做到这一点。
我看了explanation on the OWASP website,但我真的不明白
这是CSRF的一个例子,我怎样才能避免这种情况。我能想到的最好的事情就是像链接一样添加链接。但是,将所有链接的末尾放在一起会让人非常恼火。有没有其他的方式来做到这一点。
另一件事可能有人可能会给我一些其他的例子,因为该网站似乎相当神职我。
你是正确的,这是我们所容易伪造作为POST请求的GET。虽然我不同意必须有一个过期令牌。如果攻击者能够掌握会话数据,那么比其他额外投票更麻烦。但是,您的建议修复仍然有效,因为关键只是在Cookie和请求数据中具有令牌/随机值(保存在Cookie中或与用户会话密钥绑定)。 – MyGGaN 2010-03-26 22:57:56
谢谢你的建议。我将更改所有链接以获取此令牌。我必须同意这是一个非常节省的方法。但是我不会执行令牌过期,我同意MygGaN。 – 2010-03-27 06:10:21
你们中的任何一个人都有一个想法,当我使用AJAX进行投票时该怎么做。我应该在用户在页面上时重复使用相同的密钥,并且只在刷新时生成新的令牌。或者,我必须在投票完成后为所有链接提供新的令牌。 – 2010-03-27 06:13:31