前端技术 手机教程
程序开发 平面动画
系统软件 CMS教程
精准搜索请尝试:精确搜索

Laravel中ajax post操作需要传递csrf token的最优化解决方式

2020-05-19 16:13:47 来源:原创 作者:寂静的神经

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

很多文章为了简单会推荐直接关闭Laravel的强制csrf校验或者通过设置app\Http\Middleware\VerifyCsrfToken.php文件中的$except来屏蔽对指定路由的csrf校验,而这样做却又降低了程序的安全性,那么有没有更好的解决办法呢?

Laravel中ajax post操作需要传递csrf token的最优化解决方式如下:

1.在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>

这样在本页面中的所有ajax post操作都会自动使用token字段,而不需要手动填写了。

分享到:
本文关键词:laravel Token ajax post csrf

相关文章

零五网,分享IT知识,国内顶级IT知识门户网站。

Copyright (C) www.02405.com, All Rights Reserved.

零五网 版权所有 辽ICP备13002105号-1