Как узнать, какой источник называется страницей моего сайта PHP - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу знать, возможно ли увидеть, какой ресурс вызывает страницу моего сайта (файл PHP).Я создал страницу API PHP, которая обрабатывает данные JSON POST и сохраняет их в БД.Теперь я хотел бы знать, какой ресурс вызывает мою страницу PHP.В качестве примера я использую POSTMAN для публикации данных на своей странице.Можно ли увидеть, что звонок поступил от почтальона?Можно ли получить эту информацию в PHP?

1 Ответ

0 голосов
/ 23 ноября 2018

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

1) IP-адрес:

// Read the IP from who is really making the request (a user or a proxy)
$ipAddress = $_SERVER['REMOTE_ADDR'];
// Read the IP that the proxy is telling us making the request.
$ipAddress = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';

Если источник запроса находится заproxy, $ _SERVER ['REMOTE_ADDR'] будет иметь IP-адрес прокси, так что вы можете проверить заголовок HTTP_X_FORWARDED_FOR, но его можно легко подделать, если вы не контролируете прокси или не являетесь доверенным прокси.

2) Пользовательский агент:

// Using global $_SERVER
$userAgent = $_SERVER['HTTP_USER_AGENT'];

// Using get_browser function you can get an array with the information
$arrayBrowserInfo = get_browser($userAgent, true);

Пользовательский агент тоже легко подделывается, поэтому вы не можете доверять его правильному.

3) Referer:

$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';

Заголовок реферера не является обязательным, и многие браузеры не отправляют запросы XHR.

Если вы создаете API, в зависимости от варианта использования вы можете запроситьобязательный заголовок или параметр, чтобы сообщить вам больше информации о том, кто выполняет запрос (приложение для Android, приложение для iOS, веб-сайт и т. д.) Очевидно, что это может быть легко подделано.

Так что я не рекомендуючто используется для проверки безопасности, но если вы хотите знать только для того, чтобы лНапример, вызовы для отладки могут быть полезны.

...