Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем доброго времени суток)
Пишу небольшое api, пока прототип.
С стал вопрос, как определить url или ip обратившегося, за данными, сайта.
За ранее спасибо)
Не в сети
IP через request()->ip()
URL через $request->url(), предварительно внедрив Request.
Не в сети
Не в сети
}%Урла у обратившегося клиента не может быть
Это по сути посетитель сайта, можно узнать его ip, user_agent и тп
Хм. Я, видимо, ввел в заблуждение не поясним суть чуть детальнее.
Запрос к api идет не от пользователя/браузера, а от сайта на который зашел пользователь.
Как пример:
http://siteapi.com/api/123
Где http://siteapi.com сайт предоставляющий api.
Путь к api - api/
Ключ сайта - 123
Проблема в том, что ключ можно скопировать и подсунуть на ложном сайте, а вот если получить реальный url запрашивающего сайта (http://siteapi.com/), то это становиться сложнее. Не даром, при регистрации reCaptcha, google требует ввести url сайта где она будет размещена.
}IP через request()->ip()
URL через $request->url(), предварительно внедрив Request.
В свете выше поясненного) подскажите, где нужно ваш пример разместить?
Спасибо всем)))
Не в сети
Есть еще одно "НО")))
Если использовать $request->url(), то возвращает url сайта-сервиса, т.е. http://siteapi.com/api/123 ))))))))
$request->url() внедрял в контроллер обрабатывающий api запросы, вернее в метод обрабатывающий api запросы
Изменено HunterNomad (24.07.2016 19:59:04)
Не в сети
Не в сети
>Хм. Я, видимо, ввел в заблуждение не поясним суть чуть детальнее.
>Запрос к api идет не от пользователя/браузера, а от сайта на который зашел пользователь.
Это все понятно, но запрос выполняется клиентом, это может либо серверный клиент быть (php/curl и тп), либо клиентcкий (js)
Урл, по которому инициировна запрос на ваш апи, можно передать только параметрами, но его также легко и сделать фейковым в таком случае.
Для идентификации клиента используйте токены. Например JWT
Изменено VitalN (25.07.2016 10:56:48)
Не в сети
Если использовать $request->url(), то возвращает url сайта-сервиса, т.е. http://siteapi.com/api/123 ))))))))
Значит не так вопрос понял, попробуй:
Request::server('HTTP_REFERER')
Изменено AlexeyMezenin (25.07.2016 11:03:56)
Не в сети