如果我理解正确的话,如果你只是从“AJAX”(真的是AJAJ for JSON)形式允许JSON为application/json
,那么就不需要CSRF令牌了吗?
如果有人试图使用一些漂亮的POST-to-iFrame hack从另一个页面发布到表单,它将是application/x-www-form-urlencoded
,你可以立即将其丢弃。
如果有人尝试使用AJAJ发布到表单,只有OPTIONS具有允许它的CORS标头才会成功。
结论:除非您使用CORS,否则当您使用application/json
代替application/x-www-form-urlencoded
时,您将无法使用CSRF。
我不考虑任何矛盾?