ruby-on-rails-3.2 - 静态页面的 CSRF 保护

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

我有一个包含表单的静态站点。表单提交到 Rails 端点,该端点捕获提交的数据。静态站点和 Rails 端点位于同一域、不同子域,并且所有流量完全通过 HTTPS。

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

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

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

谢谢

最佳答案

我建议阅读CSRF prevention cheat sheet .

可以使用两种静态方法。

1)使用 JavaScript 获取 token 并重写静态 HTML 页面以包含随机数。

2) Check the Referer and Origin headers

关于ruby-on-rails-3.2 - 静态页面的 CSRF 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13112787/

相关文章:

ruby-on-rails - rails 3.2 使用事件管理员 0.5.5 member_action 获取路由错误

android - Settings.Secure.ANDROID_ID 在每台设备上始终相同

WCF - 为什么 netTCPBinding 可以在没有任何 SPN 设置的情况下与 Kerberos 身份验证一起正常工作?

ruby-on-rails - Rails 6 中的另一个 ActionController::InvalidAuthenticityToken

ruby-on-rails - 如何知道rails中包含什么配置

validation - 验证是否包含在选项数组中或为零

JavaScript 和企业

http - Golang CSRF 在结构中保存模板字段

security - GraphQL 和 CSRF 保护

Ruby:从阿拉伯字符解析日期?