laravel 如何处理 post 请求不使用 csrf 检测

2016-08-11 11:04:00
hainuo
原创 726
摘要:laravel中是如何处理 url 到大 method 后不适用 csrf 检测的。
#0x001 根源 在 laravel 升级到5.1之后,开始默认对 post 和 put 等操作进行 csrf 检测。在进行接口开发或者微信开发时候,我们应该如何在不改变程序框架代码的情况下来跳过 csrf 检测这一步骤呢? #0x002 资料 首先查看路由,是否有相关信息 详情参见这里 https://laravel.com/docs/5.2/routing#csrf-excluding-uris 我们发现可以将制定的 uri 从 csrf 检测列表中移除 。事情 so easy 框架设计者从需求上就给我保留了处理方式。 #0x003 修改 按照手册说明 ,我们找到中间件目录`/path/to/your/app/Http/Middleware/VerifyCsrfToken.php` 然后在其中写上自己的接口排除方式 ``` /** * The URIs that should be excluded from CSRF verification. * * @var array */ protected $except = [ // 'testpost*', ]; } ``` 这个时候我们可以愉快的使用 `http://yourdomain/testpost` 来接收 `post` 请求了。 ps:这里还是有一个说明`testpost*`和`testpost/*`在 `resource type` 的路由上是不一致的。我在测试的时候就犯了这个错误。