ruby - 無法驗證 CSRF 令牌的真實性
高洛峰
高洛峰 2017-04-24 15:59:32
0
3
999

問題:

同樣的介面請求,使用get工作正常。
使用post請求提示:
Can't verify CSRF token authenticity

臨時的解決方法

在controller 中跳過驗證

skip_before_action :verify_authenticity_token, :only => ["your_update_action"]

http://stackoverflow.com/questions/19390389/using-curl-to-access-backend-api-of-rails-app-that-implements-devise

後續疑問

如何透過post請求發送token驗證?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(3)
阿神

get是不驗證csrf的,請問你的csrf_token放在請求的body裡面了嗎?

phpcn_u1582

一般都要在layout檔中呼叫<%= csrf_meta_tags %> 方法,并在js中引入 jquery_ujs

例如

application.erb

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>you title</title>
  .....
  <%= csrf_meta_tags %>
</head>
<body>
</body>
</html>

application.js

#= require jquery_ujs

Gemfile

gem 'rails-jquery'
小葫芦

是否包含在表單中 或ajax請求body中加入了這個
看你的說明應該是在post請求的body中沒有加入這個csrf參數

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板