将表单数据从外部应用程序发布到Rails后端

时间:2017-09-13 00:38:10

标签: ruby-on-rails ruby-on-rails-4 csrf unbounce

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

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

任何想法都非常感激。

1 个答案:

答案 0 :(得分:1)

你使用Rails默认值来保证安全性是件好事。你让框架为你做好事!但是,对于您所描述的内容,Rails CSRF保护默认值将会受到阻碍。存在CSRF保护以保护已登录用户免遭其帐户被劫持。由于这是您的注册页面,因此没有登录用户,因此没有什么可以劫持。

我建议你做两件事:

  • 仅为此控制器操作跳过真实性令牌检查 (例如:skip_before_action :verify_authenticity_token, on: :create)。
  • 如果已经有登录用户,请不要接受注册请求。