отключить доступ к Laravel API из браузера - PullRequest
0 голосов
/ 20 сентября 2018

Как я могу ограничить прямой доступ по маршруту GET?

пример localhost / api / helloworld

если я отправляю запрос почтальону, я хочу получить ответ, но если я пытаюсь открытьURL в браузере Мне нужно перенаправить на домашнюю страницу или выдать ошибку 403?

стоит ли использовать какой-либо заголовок для ограничения или есть другой способ сделать это в Laravel?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

используйте следующий код для обнаружения запрашивающего клиента по заголовкам.

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];
}
0 голосов
/ 20 сентября 2018

Стандартный способ сделать это - использовать токен.Laravel предоставляет вам аутентификацию API, перейдите по этой ссылке Аутентификация API (паспорт)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...