[译]不在路由中使用 CSRF 中间件 Laravel 5.1
2015-10-21 本文已影响753人
多厘
原文地址: Excluding Routes from the CSRF Middleware
Excluding CsrfLaravel 默认在所有的请求中都启用了 CSRF 过滤, 这自动处理和引用起来十分简单.
Laravel has CSRF enabled by default for all requests that come through your app. This is included and handled automatically to make life easier.
然而, 如果一个外部服务请求进来的时候是不包含csrf token 的(ps: 支付宝付款时候的异步请求), 例如说来自第三方的一个web钩子. 早前的 Laravel版本在单路由中设定是非常复杂的. 例如 tutorial 就是 Laravel 5.0 中的做法.
现在在 5.1 中, app/Http/Middleware/VerifyCsrfToken
类有一个 $except
属性来让这件事情变得简单.
protected $except = [
'webhook/*'
];
就像你在例子中看到的, 你可以使用通配符来匹配路由或者单独的定义每一个路由. 实际上. 这个数组通过 $request->is
来处理请求你可以在 requests 文档找到更多信息. 想找到更多的 Laravel's CSRF 介绍请访问 官网文档.
相关文章: