Laravel 伪造跨站请求保护csrf 在vue中使用

31. May 2018 Laravel 0

项目使用前后分离模式,vue+laravel,使用form表单提交很简单,不使用默认bootstrap.js或独立vue项目需要配置下。

在vue的入口文件,blade模板里添加

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

然后在axios request拦截器中添加

let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
axios.defaults.headers.common['X-CSRF-TOKEN'] =token.content;
}

PS:若独立vue项目,入口使用默认html文件,注释掉第一步加入的meta那行,{{ csrf_token() }}在php文件中才能被正确执行。