Laravel AJAX请求

时间:2017-12-20 07:14:21

标签: php ajax laravel filter

我是现有Laravel 4.2项目的另一名开发人员。有一部分代码我不明白或者没有看到它的目的,所以我想看看它背后是否有原因。

添加了一个过滤器:

Route::filter('ajax', function () {
    if (!Request::ajax()) {
        return response('Bad request', 400);
    }
});

将附加到所有AJAX路由:

Route::when('*-ajax', 'ajax');

我想知道这背后是否有目的?如果省略这会导致安全漏洞吗?为什么我需要检查请求是否是AJAX呼叫而不是其他呼叫?

1 个答案:

答案 0 :(得分:1)

这是Laravel 4.2中的pattern based filter

星号用作通配符,将匹配任何字符组合。

因此,其中包含 -ajax 的所有路线都将被过滤

这也应与过滤器配对,以便路由与模式匹配的不同案例

Route::filter('ajax', function()
{
    //
});

开发人员然后测试请求是否实际上是ajax请求。如果不是那么他们发送400错误。

你会检查它是否是一个ajax调用,因为很明显这些路由只是为了响应ajax请求,而不是当有人在浏览器中输入它时。