我被困了,我花了差不多一整天才解决这个问题。 我正在尝试将csrf安全性集成到我们的网站,该网站使用play framework 2.5.9和angularjs 1.x编写。我添加了csrf的东西,我试图通过邮递员测试。 虽然它的工作原理是内容类型设置为x-www-form-urlencoded,但是当它设置为application / json时不起作用。它给了我
Content-Length →0
Date →Tue, 14 Mar 2017 13:22:13 GMT
error →No CSRF token found for application/json body
我的json是
{
"username": "admin",
"email": "admin",
"password": "123456",
"consumer": "consumer",
"csrfToken": "c29625a2c1c26bfbd4e74f6f6499d21f9a21aed-1489470934941-ae012aab7984ed13bfc697ea"
}
它出了什么问题?我错过了什么吗? 任何帮助,赞赏。
修改 顺便说说, 当我通过添加以下行禁用csrf检查application.conf时
X-Requested-With = "*"
Csrf-Token = "nocheck"
post方法适用于application / json内容类型。
答案 0 :(得分:2)
播放default CSRF protection过滤器检查
application/x-www-form-urlencoded
内容类型multipart/form-data
内容类型您可以查看来源:
所以你能做什么:
csrfToken
添加到查询字符串...?csrfToken=...
(不推荐)crfToken
添加到标题