我有一个方法,例如UserController @ getRead来读取所有或特定用户的详细信息。我有一个路由Route::controller('user', 'UserController');
,以便在任何其他方法中,我可以使用以下方式获取有关用户的信息:
$request = Request::create('user/read/'.$userId, 'GET');
$user = json_decode(Route::dispatch($request)->getContent());
然而,这也意味着我可以浏览到'user / read / 1'并获取有关用户1的所有信息。这显然是一个安全漏洞,需要插入。如何在应用程序中访问UserController的read方法,而不是直接浏览到user / read?
答案 0 :(得分:1)
您可以使用Request::path()
获取输入浏览器的路径,然后进行测试以查看它是否为user/read
。如果是中止,否则继续。这是我特定实例的代码:
if (stripos(Request::path(), 'user/read') !== false)
{
App::abort(403, 'No direct access allowed');
}