静态页面上的CSRF保护

时间:2012-10-28 20:37:24

标签: ruby-on-rails-3.2 security csrf csrf-protection

我有一个有表格的静态网站。表单提交到Rails端点,该端点捕获提交的数据。静态站点和Rails端点位于同一域,不同的子域上,所有流量完全基于HTTPS。

我理解Rails CSRF如何用于服务器生成的表单。但就我而言,这些表单是在静态HTML页面上。我知道所有请求标头都可以伪造,所以不能依赖它。

如果这种情况下无法获得强大的解决方案,那么我的最后一个选择就是转移到服务器生成的表单(我现在想避免使用)。

任何有关良好做法的建议都会受到欢迎。或任何已经执行此操作的系统或库的指针。

由于

1 个答案:

答案 0 :(得分:1)

我建议您阅读CSRF prevention cheat sheet

可以使用两种静态方法。

1)使用JavaScript获取令牌并重写静态HTML页面以包含nonce。

2)Check the Referer and Origin headers