2017-09-13 26 views
0

由於市場營銷的原因,我們希望對某些着陸頁進行a/b測試。相當典型,但理想情況下,我們希望頁面直接發佈到我們的Rails後端(創建一個新用戶)。我們計劃在Unbounce上託管我們的登陸頁面(或其他任何內容,並不重要),但尚不清楚如何從第三方表單發佈到(users#create)Rails應用中,而不會遇到CSRF和其他安全令牌問題。將表單數據從外部應用導出到Rails後端

也許有更好的(閱讀:最佳實踐)如何a/b測試與Rails應用程序相關的登陸頁面?我試圖儘量減少對代碼庫的更改,如果可能的話,需要運行這些着陸頁實驗。

任何想法非常感謝。

回答

1

這很好,你使用的Rails默認值的安全性;你正在讓框架爲你做好工作!但是,對於您所描述的內容,Rails CSRF保護默認設置將會妨礙您的工作。 CSRF保護措施的存在是爲了保護登錄用戶免遭賬戶劫持。由於這是您的註冊頁面,因此沒有登錄用戶,所以沒有什麼可以劫持的。

我建議你做兩件事情:

  • 跳過此控制器操作只(例如:skip_before_action :verify_authenticity_token, on: :create)的真實性令牌檢查
  • 如果已經有登錄用戶,請不要接受註冊請求。
+1

另外要注意的是,如果您使用javascript來執行POST,瀏覽器上的跨域保護將會啓動。如果您使用標準的<表單POST,您會沒事的。 –

相關問題