如何限制GET路由上的直接访问?
示例localhost / api / helloworld
如果我向邮递员发送请求,我想得到答复,但是如果我尝试在浏览器中打开URL,我需要重定向到主页还是出现403错误?
我应该使用一些标头来限制它吗,还是在Laravel中有另一种方法呢?
答案 0 :(得分:1)
执行此操作的标准方法是使用令牌。 Laravel为您提供API身份验证,请点击此链接API Authentication (Passport)
答案 1 :(得分:0)
使用以下代码从标头中检测发出请求的客户端。
public function isBrowserRequest()
{
$browsers = ['Opera', 'Mozilla', 'Firefox', 'Chrome', 'Edge'];
$userAgent = request()->header('User-Agent');
$isBrowser = false;
foreach($browsers as $browser){
if(strpos($userAgent, $browser) !== false){
$isBrowser = true;
break;
}
}
return ['result' => $isBrowser];
}