Если я блокирую пользователей с пустым IP-адресом, который будет влиять на невинных, нетехнических пользователей?

Если Ваши пользователи не требуют его, можно выключить, "Позволяют веб-кэши и Базы данных"

2
задан 4 January 2012 в 21:44
2 ответа

Правило №1 для IP-сетей. У всех, кто общается по нему, есть IP. Вы можете замаскировать его через стороннего поставщика, но у вас все еще есть публичный IP-адрес. Никаких исключений. Интернет - это сеть на основе IP. Я подозреваю, что в вашем коде где-то есть неправильная логика.

17
ответ дан 3 December 2019 в 08:29

Также возможно, что эти переменные просто не возвращают ожидаемых результатов и поэтому пусты. Вы можете попробовать что-то вроде этого:

 if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
   if ($_SERVER["HTTP_CLIENT_IP"]) {
    $proxy = $_SERVER["HTTP_CLIENT_IP"];
  } else {
    $proxy = $_SERVER["REMOTE_ADDR"];
  }
  $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
  if ($_SERVER["HTTP_CLIENT_IP"]) {
    $ip = $_SERVER["HTTP_CLIENT_IP"];
  } else {
    $ip = $_SERVER["REMOTE_ADDR"];
  }
}

echo "Your IP $ip<BR>\n";
if (isset($proxy)) {
  echo "Your proxy IP is $proxy<BR>\n";
}

Как почерпнуто из справочной страницы PHP по адресу: http://www.php.net/manual/en/language.variables.predefined.php#31724

9
ответ дан 3 December 2019 в 08:29

Теги

Похожие вопросы