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 и т.п, их очень лешко скрыть.
Онлайн: 8
Время:
Gen. 0.1112
(c) Bym.Guru 2010-2026