0

出于营销原因,我们希望对一些登录页面进行 a/b 测试。相当典型,但理想情况下,我们希望页面直接发布到我们的 Rails 后端(创建新用户)。我们计划在 Unbounce 上托管我们的登录页面(或其他什么,并不重要),但目前尚不清楚如何users#create从第三方表单在 Rails 应用程序中发布到 ( ) 而不会遇到 CSRF 和其他安全令牌问题。

对于如何对与 Rails 应用程序相关的登录页面进行 a/b 测试,也许有更好的(阅读:最佳实践)?如果可能的话,我试图尽量减少运行这些登陆页面实验所需的代码库更改。

任何想法都非常感谢。

4

1 回答 1

2

最好使用 Rails 的默认值来保证安全性;你让框架为你做好了工作!但是,对于您所描述的内容,Rails CSRF 保护默认设置会妨碍您。CSRF 保护的存在是为了保护登录用户的帐户免遭劫持。由于这是您的注册页面,因此没有登录用户,因此没有什么可以劫持的。

我建议你做两件事:

  • 仅跳过此控制器操作的真实性令牌检查(例如:)skip_before_action :verify_authenticity_token, on: :create
  • 如果已经有登录用户,请不要接受注册请求。
于 2017-09-13T22:15:42.973 回答