2017-02-20 41 views
-1

Добрый день, я создал PHP API, который принимает запросы GET/POST.PHP API get requesters IP-адрес

Я хотел бы получить IP-адрес сервера, который сделал запрос к моему API, чтобы я сделал некоторую проверку.

Я попытался использовать значение $_SERVER['REMOTE_ADDR'], но заметил, что он не работает со всеми типами веб-сайтов.

Я попытался найти в Интернете решение, но только нашел, как получить IP-адрес клиента.
И я думаю, что «клиент» означает пользователя, вызвавшего вызов API.

Мне нужен адрес сервера веб-сайта, с которого был сделан запрос.
Может ли кто-нибудь предложить лучший способ сделать это?

+0

Если клиент не отправил вам эту информацию, я не вижу возможности определить ее. У вас есть только информация, которую клиент отправляет вам. – David

+0

Возможный дубликат: http://stackoverflow.com/questions/13646690/how-to-get-real-ip-from-visitor – Kisaragi

+1

Возможный дубликат [Как получить реальный IP-адрес от посетителя?] (Http: // stackoverflow. com/questions/13646690/how-to-get-real-ip-from-visitor) – cjds

ответ

0

API можно вызывать с сервера - например, другой скрипт PHP - или с клиентской стороны - обычно Javascript в браузере с использованием AJAX, что гораздо более распространено. Например, фрагмент Javscript для Google Analytics, Google Maps и т. Д. Будет включен в большое количество веб-страниц, но фактический вызов в Google будет выполнен клиентским браузером. В тех ситуациях, которые, как мне кажется, типичны для многих (большинства?) API, единственным IP-адресом, который вы увидите, является клиент, а не веб-сервер. Решение Google (и многие другие API-интерфейсы) должно требовать регистрации для бесплатного ключа API для использования API. Обычно вы не можете отслеживать это на определенном веб-сервере, но это позволяет вам подключаться к первому клиенту или разработчику, зарегистрировавшемуся для API.

TL; DR Создайте бесплатный «API-ключ» для пользователей/клиентов/разработчиков веб-сайта и отслеживайте их таким образом.

 Смежные вопросы

  • Нет связанных вопросов^_^