2012-12-07 51 views
0

我有一个将表单注入到另一个服务器的网页的书签。该表单通过JSONP使用jQuery将数据提交回我的服务器,并将提交的数据添加到数据库中。CSRF风险和令牌

问:这种注射的形式也包含在一个隐藏字段一个CSRF令牌:

<input type="hidden" name="csrf_token" value="MWkgtQbdH6maJhuGL7ObwPcbgqARUCTjb4NSdo29"> 

请问这仍然构成CSRF风险?

+0

你是如何生成令牌的? – meagar

+0

令牌由我的PHP框架生成并存储在会话cookie中。 http://laravel.com/docs/views/forms#csrf-protection – Nyxynyx

回答

0

页面仍然可以被抓取并远程提交。这是一种威慑,但不是绝对的解决办法。它会停止链接,但有人可以远程发布表单。

您也可以检查引用链接,但有些客户端和防火墙阻止发送引荐链接。

一个解决方案是通过提交js来设置cookie,然后验证服务器端。

+0

您的意思是用户使用我的书签的网站可以以注入的形式刮擦CSRF令牌,并执行CSRF攻击? – Nyxynyx

+0

我想我必须知道更多,以了解你想要解决什么问题,但令牌可以从输入中检索并通过除表单之外的其他方式传递。 – deyes