我想爲我的服務器端表單驗證寫一個測試,但我不斷收到Forbidden錯誤。看來這需要分兩步進行。步驟1,從表單中獲取CSRF值。第2步,使用CSRF值發佈到表單處理程序。然而,無論我如何發佈,我都會得到一個禁止的錯誤。如何使用CSRF測試快速表單發佈?
--full測試:https://github.com/socketwiz/swblog/blob/master/test/contact.js#L57-L100
我試圖改變正是如此下面一行: https://github.com/socketwiz/swblog/blob/master/test/contact.js#L85
.send({name: 'foo', 'X-CSRF-Token': token})
.set('X-CSRF-Token', token)
.set('Cookie', ['X-CSRF-Token=' + token])
但沒有我嘗試將似乎滿足CSRF要求。我越嘗試越複雜,這似乎是一件簡單的事情。也許我正在談論這一切都是錯誤的。有任何想法嗎?
這是否清楚什麼了? http://jb.demonte.fr/blog/expressjs-angularjs-csrf/ – adrichman
@adrichman,我想我應該說它在我的表單中工作得很好,我只是無法弄清楚如何編寫測試它。當測試試圖發佈它時,無論我嘗試什麼,都會得到一個Forbidden錯誤:( – socketwiz
我不確定您所引用的語法,但看起來您可能需要重構,以便專門設置'x- csrf-token'HEADER等於位於cookie上的令牌 – adrichman