如何阻止用户直接访问路由并检索数据。
这是一个ajax请求。
我创建了一条路线
Route::get('/getmodels/{make_id}', ['as' => 'ajax.get.models', 'uses' => 'DashboardController@getModelsFromMake']);
在我的内核中,我已将中间件指向命名路由'ajax.get.models' 在routeMiddleware数组中。
'ajax.get.models' => 'App\Http\Middleware\RedirectIfNotAjax’,
在RedirectIfNotAjax中我有这个。我不确定我是否正确接近这个。
public function handle($request, Closure $next)
{
if (!$request->ajax()) {
return redirect()->to('/');
}
return $next($request);
}
我不知道如何阻止用户直接通过浏览器访问网址,例如 app.com/getmodels/400
答案 0 :(得分:0)
我在内核中更改了以下内容
'ajax' => 'App\Http\Middleware\RedirectIfNotAjax',
我在路径中设置了中间件
Route::get('/getmodels/{make_id}', ['middleware' => 'ajax', 'as' => 'ajax.get.models', 'uses' => 'DashboardController@getModelsFromMake']);