Вы можете узнать некоторые сведения о запросе, например:
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, веб-сайт и т. д.) Очевидно, что это может быть легко подделано.
Так что я не рекомендуючто используется для проверки безопасности, но если вы хотите знать только для того, чтобы лНапример, вызовы для отладки могут быть полезны.