ton*_*919 9 jquery csrf meta-tags
如果我在不使用表单的情况下发出POST请求并希望阻止CSRF攻击,我可以做的是在元标记中设置csrf-token,并在触发请求时将其放回标题.这是一个好习惯吗?
<meta name="csrf-token" content="xxx">
Run Code Online (Sandbox Code Playgroud)
使用JQuery将标记放回头部,例如:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
Run Code Online (Sandbox Code Playgroud)
是的,这是一个好习惯.如果您使用的是ajax,我认为这是最干净的解决方案.
你也可以把令牌放在表单里面(如果提交整个表单会更方便),但是如果你使用ajax,它只需要去你可以抓住的地方.
在隐藏字段或元标记中都是非常好的选择.