Laravel中ajax post提交csrf token的最优化解决方式

  1. 如需关闭csrf校验(不推荐)
  2. 全局附加

在Laravel框架中为了防止csrf攻击,规定只要是post操作都要传递_token值,如果是普通表单那么只要在form中添加 @csrf 代码就可以了,如果采用ajax方式提交post请求时,最简单的解决办法是在每次ajax post提交的参数中追加一个_token字段,但是每次都手动去追加这条数据即麻烦又不美观。

如需关闭csrf校验(不推荐)

修改 app\Http\Middleware\VerifyCsrfToken.php 文件中的 $except 属性

全局附加

在blade页面中的header标签中添加如下代码:

<meta name="csrf-token" content="{{ csrf_token() }}" />

2.在blade页面中引用jquery并添加如下js代码:

<script>
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});
</script>

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lzdong@foxmail.com

×

喜欢就点赞,疼爱就打赏