Laravel 伪造跨站请求保护csrf 在vue中使用
项目使用前后分离模式,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文件中才能被正确执行。