最近一直在调查拉维尔,试图找出他们拥有的CSRF保护.然而,我无法让它工作.有没有什么方法可以通过CSRF过滤器验证所有提交的post请求?我已经看到拉威尔系统有:

    App::before(function($request)
{
    //
});

我怎样才能将其与CSRF滤波器一起使用?一直在try 一些不同的事情,比如

App::before(function($request)
{
    Route::filter('csrf','post');
});

但我可能离这里很远..这是怎么回事?或者甚至有可能这样做?

推荐答案

可以使用路由组.这将对组中定义的任何路由应用指定的选项:

Route::group(array('before' => 'csrf'), function()
{
    Route::post('/', function()
    {
    // Has CSRF Filter
    });

    Route::post('user/profile', function()
    {
    // Has CSRF Filter
    });

    Route::post(....);
});

对于某些路由,或者如果分组不是您想要的,您也可以使用模式过滤器:

//all routes beginning with admin, sent via a post http request will use the csrf filter
Route::when('admin/*', 'csrf', array('post'));

注意:此代码将在您的路由中使用.php文件

Laravel相关问答推荐

未将Laravel Blade属性传递给组件或类

为什么只删除了最后一个Like,而没有删除选中的?

如何让 Laravel 的 Collection 表现得像一个流?

Laravel - 加载常见的页眉和页脚以查看

在 laravel 查询构建器中使用多个 where 子句

Laravel 5.5 在迁移文件中设置整数字段的大小

在 Laravel 5 中扩展请求类

laravel 5 中的登录事件处理

SQLSTATE [01000]:警告:1265 列的数据被截断(truncated)

Laravel 5.1 重命名项目

在 Laravel 5 中找不到类App\Http\Controllers\Artisan

在 Laravel 应用程序中在哪里指定应用程序版本?

Elastic search全文与mysql全文?

Laravel 获取查询字符串

使用哪个 Auth::check() 或 Auth::user() - Laravel 5.1?

登录后 DevTools 无法解析 SourceMap 错误将重定向到该 js 文件

Laravel 删除集合中的第一项

搜索结果分页 laravel 5.3

Laravel 将附加参数传递给函数

Laravel 5 Auth注销不起作用