Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.07.2016 11:42:05

Как узнать url обратившегося, за данными, сайта для api?

Всем доброго времени суток)
Пишу небольшое api, пока прототип.
С стал вопрос, как определить url или ip обратившегося, за данными, сайта.

За ранее спасибо)

Не в сети

#2 24.07.2016 11:47:20

Re: Как узнать url обратившегося, за данными, сайта для api?

IP через request()->ip()

URL через $request->url(), предварительно внедрив Request.

Не в сети

#3 24.07.2016 16:05:59

Re: Как узнать url обратившегося, за данными, сайта для api?

Урла у обратившегося клиента не может быть
Это по сути посетитель сайта, можно узнать его ip, user_agent и тп

Не в сети

#4 24.07.2016 17:35:24

Re: Как узнать url обратившегося, за данными, сайта для api?

VitalN пишет:

}%Урла у обратившегося клиента  не может быть
Это по сути посетитель сайта, можно узнать его ip, user_agent  и тп

Хм. Я, видимо, ввел в заблуждение не поясним суть чуть детальнее.
Запрос к api идет не от пользователя/браузера, а от сайта на который зашел пользователь.
Как пример:
http://siteapi.com/api/123
Где http://siteapi.com сайт предоставляющий api.
Путь к api - api/
Ключ сайта - 123
Проблема в том, что ключ можно скопировать и подсунуть на ложном сайте, а вот если получить реальный url запрашивающего сайта (http://siteapi.com/), то это становиться сложнее. Не даром, при регистрации reCaptcha, google требует ввести url сайта где она будет размещена.

AlexeyMezenin пишет:

}IP через request()->ip()
URL через $request->url(), предварительно внедрив Request.

В свете выше поясненного) подскажите, где нужно ваш пример разместить?

Спасибо всем)))

Не в сети

#5 24.07.2016 19:56:38

Re: Как узнать url обратившегося, за данными, сайта для api?

Есть еще одно "НО")))
Если использовать $request->url(), то возвращает url сайта-сервиса, т.е. http://siteapi.com/api/123 ))))))))

$request->url() внедрял в контроллер обрабатывающий api запросы, вернее в метод обрабатывающий api запросы

Изменено HunterNomad (24.07.2016 19:59:04)

Не в сети

#6 25.07.2016 10:51:00

Re: Как узнать url обратившегося, за данными, сайта для api?

  1. Если использовать $request->url(), то возвращает url сайта-сервиса, т.

Естественно

Не в сети

#7 25.07.2016 10:55:27

Re: Как узнать url обратившегося, за данными, сайта для api?

>Хм. Я, видимо, ввел в заблуждение не поясним суть чуть детальнее.
>Запрос к api идет не от пользователя/браузера, а от сайта на который зашел пользователь.

Это все понятно, но  запрос выполняется клиентом, это может либо серверный клиент быть (php/curl  и тп), либо клиентcкий (js)
Урл, по которому инициировна запрос на ваш апи, можно передать только параметрами, но его также легко и сделать фейковым в таком случае.

Для идентификации клиента используйте токены. Например JWT

Изменено VitalN (25.07.2016 10:56:48)

Не в сети

#8 25.07.2016 11:03:13

Re: Как узнать url обратившегося, за данными, сайта для api?

HunterNomad пишет:

Если использовать $request->url(), то возвращает url сайта-сервиса, т.е. http://siteapi.com/api/123 ))))))))

Значит не так вопрос понял, попробуй:

Request::server('HTTP_REFERER')

Изменено AlexeyMezenin (25.07.2016 11:03:56)

Не в сети

Подвал раздела