0
使用從殼curl
發送GET來一個Ruby on Rails應用程序將數據傳遞到一個Ruby on Rails應用程序的工作原理就像一個魅力。但是,在PUT,POST等情況下,需要與CSRF令牌相抗衡。我似乎無法獲得在shell正確的語法(或PHP爲此事)傳遞這個數據。我認爲它應該像從捲曲從殼
curl -v -XPUT -i http://my-server:8080/some_command --data "somevalue=1" --data-urlencode X-CSRF-Token=$AUTH
,但不起作用。 (authenticity_token=$AUTH
)
請注意,當完成此頁面的瀏覽器加載時,AUTH被設置爲瀏覽器中顯示的會話變量。
當我這樣做,我得到一個302重定向到登錄頁面。
日誌說,
WARNING: Can't verify CSRF token authenticity
Completed 401 Unauthorized in 0ms
,然後將其重定向我到登錄頁面(302)。
如果你被重定向到登錄頁面,我認爲這個問題是不是CSRF。日誌說什麼? –
對不起,應該已經張貼細節。問題已更新。 –
以我的Rails應用中產生的形式我有'<輸入名稱=「authenticity_token」類型=「隱藏」值=「XYuuLw4QBeBgp3tmykR6daZnsmMNOP8qcz4BLFZgINY =」>'所以如果添加'authenticity_token = TOKEN'到數據不爲你工作,這意味着你有錯誤的令牌 –