2

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

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

如果在这种情况下不可能有一个强有力的解决方案,那么我的最后一个选择是转向服务器生成的表单(我现在想避免)。

任何有关解决此问题的好方法的建议都将受到欢迎。或任何指向已经执行此操作的系统或库的指针。

谢谢

4

1 回答 1

2

我建议阅读CSRF 预防备忘单

有两种静态方法可以使用。

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

2)检查Referer和Origin标头

于 2012-10-29T06:35:39.613 回答