Loading...
Нашёл функции такого плана
php
function get_client_ip ()
{
$ip = '';
if(!empty($_SERVER['REMOTE_ADDR']))
$ip .= $_SERVER['REMOTE_ADDR'];
else
$ip .= 'n/a';
return $ip;
}

function get_client_ip ()
{
$ip = '';
if(isset($_SERVER['REMOTE_ADDR']))
$ip .= $_SERVER['REMOTE_ADDR'];
else
$ip .= 'n/a';
return $ip;
}


Почему ip проверяют некоторые на пустоту а некоторые на существование, ведь у каждого есть ip разве они могут быть пустые или не существовать , для чего это делается?
________
посл. ред. 24.07.2023 в 15:43; всего 4 раз(а); by SNEG
а где ты её нашёл?
Four (24 июля 2023, в 15:47)
а где ты её нашёл?
Погугли, во всех примерах в гугле так
________
посл. ред. 24.07.2023 в 16:04; всего 1 раз(а); by SNEG
Я тебе говорила, айпи может быть не в remote_addr)
У цьому випадку є дві однакові функції з різними способами перевірки наявності IP-адреси в змінній $_SERVER['REMOTE_ADDR'].

Обидві функції мають один і той же результат, вони перевіряють, чи існує IP-адреса клієнта ($_SERVER['REMOTE_ADDR']) і якщо так, то записують її у змінну $ip. Якщо IP-адреса не існує або не вдалося отримати, то змінна $ip буде містити рядок 'n/a', що означає "не доступно" (not available).

Функція дозволяє вам отримати IP-адресу клієнта, що корисно для ведення логів, аналізу даних, безпеки та інших сценаріїв, де необхідно знати IP-адресу клієнта, що взаємодіє з веб-сайтом.
Лара (24 июля 2023, в 16:03)
Я тебе говорила, айпи может быть не в remote_addr)
Я так и понял сразу что мне сказала , с моими знаниями начинающими. Ко мне только через пару дней доходит, некоторые моменты
________
посл. ред. 24.07.2023 в 16:06; всего 3 раз(а); by SNEG
Як альтернатива!
php
function get_client_ip() {
$ip = '';

// Спробуємо отримати IP-адресу з заголовку HTTP_X_FORWARDED_FOR
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip .= $_SERVER['HTTP_X_FORWARDED_FOR'];
}
// Якщо заголовок HTTP_X_FORWARDED_FOR порожній або недоступний, отримуємо IP з REMOTE_ADDR
elseif (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
$ip .= $_SERVER['REMOTE_ADDR'];
} else {
$ip .= 'n/a';
}

return $ip;
}

________
посл. ред. 24.07.2023 в 16:09; всего 1 раз(а); by mc_smail
mc_smail (24 июля 2023, в 16:06)
Як альтернатива!
php
function get_client_ip() {
$ip = '';

// Спробуємо отримати IP-адресу з заголовку HTTP_X_FORWARDED_FOR
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip .= $_SERVER['HTTP_X_FORWARDED_FOR'];
}
// Якщо заголовок HTTP_X_FORWARDED_FOR порожній або недоступний, отримуємо IP з REMOTE_ADDR
elseif (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
$ip .= $_SERVER['REMOTE_ADDR'];
} else {
$ip .= 'n/a';
}

return $ip;
}
HTTP_X_FORWARDED_FOR
Это проверяет на vpn ,proxy?
SNEG , это если проходит через VPN, proxy, то может провайдить реальный ip пример использование cloudflare, тогда ip будет приходить в forward, а в remote всегда будет ip cloudflare
SNEG (24 июля 2023, в 14:15)
Нашёл функции такого плана
php
function get_client_ip ()
{
$ip = '';
if(!empty($_SERVER['REMOTE_ADDR']))
$ip .= $_SERVER['REMOTE_ADDR'];
else
$ip .= 'n/a';
return $ip;
}

function get_client_ip ()
{
$ip = '';
if(isset($_SERVER['REMOTE_ADDR']))
$ip .= $_SERVER['REMOTE_ADDR'];
else
$ip .= 'n/a';
return $ip;
}


Почему ip проверяют некоторые на пустоту а некоторые на существование, ведь у каждого есть ip разве они могут быть пустые или не существовать , для чего это делается?
Не только ip может приходить пустым, но и ua и т.п, их очень лешко скрыть.
Онлайн: 3
Время:
Gen. 0.1203
(c) Bym.Guru 2010-2025