首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Laravel中使用来自AJAX请求的默认csrf-token

如何在Laravel中使用来自AJAX请求的默认csrf-token
EN

Stack Overflow用户
提问于 2019-05-31 08:33:12
回答 3查看 811关注 0票数 0

我正在使用Vuejs,我想向我的laravel服务器发出一个安全的AJAX请求(使用axios),但我认为CSRF保护不起作用,因为我更改了前端部分的令牌,即使这样我也可以与数据库交互。

我读到Laravel附带了一个名为bootstrap.js的文件,假设这个文件在默认情况下执行此任务,但它不适用于我。我想是因为当我运行npm run watch的时候,webpack没有加载文件,但是我不知道如何加载它。

我搜索了答案,但只找到了Bootstrap教程:/

EN

回答 3

Stack Overflow用户

发布于 2019-05-31 12:03:24

在head中:

代码语言:javascript
复制
<meta name="csrf-token" content="{{ csrf_token() }}">

在ajax中:

代码语言:javascript
复制
window.axios = require('axios');

window.axios.defaults.headers.common = {
    'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content');
};
票数 1
EN

Stack Overflow用户

发布于 2019-05-31 10:13:50

您可以将CSRF放在元中作为_token。如下所示:

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

有关这一点,请访问laravel文档。https://laravel.com/docs/5.6/csrf#csrf-x-csrf-token

然后在你的javascript中访问它。

票数 0
EN

Stack Overflow用户

发布于 2019-05-31 10:23:45

您应该为API组添加VerifyCsrfToken中间件(app/Http/Kernel.php)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56387268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档