我在 spring 框架中有 csrf 保护。因此,在每个请求中,我都会从 ajax 调用的标头中发送 csrf 令牌,这非常有效。
<meta name="_csrf" content="${_csrf.token}"/>
<meta name="_csrf_header" content="${_csrf.headerName}"/>
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
在阿贾克斯
beforeSend: function(xhr) {
xhr.setRequestHeader(header, token),
xhr.setRequestHeader("username", "xxxx1"),
xhr.setRequestHeader("password", "password")
}
我不知道 生成 csrf 令牌并将其包含在 Postman Rest Client 的标头部分中 吗?你能帮我从 Postman Rest 客户端发送 csrf 令牌吗?
原文由 Surendra Jnawali 发布,翻译遵循 CC BY-SA 4.0 许可协议
始终如一地执行此操作的最简单方法,因此您不必每次都获取令牌:
注意:您需要安装 PostMan 拦截器并激活它才能访问浏览器 cookie
编辑 对于使用 5.5.2 邮递员或更高版本的任何人,您还必须解码 cookie,并且他们还提供了获取 cookie 的替代方法,正如@Sacapuces 指出的那样
现在您将拥有一个包含 xsrf-token 的环境变量。
保存您的登录方式
创建您要创建的新帖子,并在标题中添加您的 XSRF-Token-Header 密钥,并在手柄栏中添加环境变量以访问它{{}}