Angular2和Laravel CSRF保护

时间:2016-12-19 09:19:19

标签: php ajax angular laravel-5 csrf

我已经阅读了一些topics

我遇到的问题在于这段代码

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

我使用Angular2作为核心引擎,将AJAX请求发送到Laravel API并且我没有使用刀片模板 - 仅.html files,所以我无法调用php函数{来自html文件的{1}}

所以,我通过扩展我的方法添加了一个临时解决方案 /var/www/pandacrm/app/Http/Middleware/VerifyCsrfToken.php文件

csrf_token()

但似乎不是最好的解决方法,还有其他解决方案来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您可以在html文件中使用JavaScript创建meta代码csrf-token

如何执行此操作:

向Laravel Route发送Ajax请求以获取令牌。 (在Controller操作中返回csrf-token)然后在html文件中使用该标记创建元标记。

但在此之前,您必须在该特定路由上禁用csrf保护。 有一种方法可以为laravel5 herehere做5.3。

现在您有一个带csrf的元标记,可用于其他ajax请求。