Получение реального IP-адреса посетителя несмотря на использование прокси-сервера
Код PHP, обычно используемый для получения IP-адреса посетителя:
Однако этот метод не может получить истинный IP-адрес, когда в игре задействованы прокси. В поисках решения этой проблемы давайте углубимся в альтернативный подход.
Пользовательская функция PHP для определения IP
Приведенный PHP-код предлагает комплексное решение с учетом подключений CloudFlare. и различные другие факторы:
function getUserIP()
{
// Handle CloudFlare connections
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
$_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$user_ip = getUserIP();
Этот код присваивает IP-адрес переменной $user_ip, которую затем можно использовать по мере необходимости в вашем PHP-скрипте.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3