【发布时间】:2017-05-04 07:25:36
【问题描述】:
我已经读过一些topics
而我遇到的问题就在于这段代码
<meta property="csrf-token" name="csrf-token" content="{{ csrf_token() }}">
我使用 Angular2 作为核心引擎,它向 Laravel API 发送 AJAX 请求,我没有使用刀片模板 - 只是 .html files,所以我不能从 html 文件调用 php 函数 csrf_token()
所以,我通过扩展我的 /var/www/pandacrm/app/Http/Middleware/VerifyCsrfToken.php 文件
public function handle($request, Closure $next)
{
if ( ! $request->is('api/*'))
{
return parent::handle($request, $next);
}
return $next($request);
}
但这似乎不是最好的解决方法,是否有其他解决方案可以解决此问题?
【问题讨论】:
-
您可以禁用 CSRF 中间件(不推荐)或为 CSRF 中间件提供您认为有效的令牌。在没有某种跨站点请求伪造保护的情况下发出 ajax 请求是一件非常危险的事情。
标签: php ajax angular laravel-5 csrf