Все пользователи на одном IP

Увидел в админке, что все пользователи регистрируются с одного IP-адреса, принадлежащего хостеру. Это нормально?

13 комментариев

avatar
Если вы используете обычный хостинг, то 99% что ничего не поделать (хостеры не изменяют конфигурации шаринг хостинга). А если вы используете vps, установите rpaf.
avatar
Хостинг обычный, да. Интересно, что когда недавно покупал у него же хотинг все работало нормально.
avatar
или вместо $_SERVER['REMOTE_ADDR'] используйте $_SERVER['X-Forwarded-For']
avatar
Во всем движке менять? А если так оставить, не будет проблем с авторизацией, например?
avatar
в index.php перед загрузкой конфига можете поставить


if (!empty($_SERVER['HTTP_CLIENT_IP']))  {
    $_SERVER['REMOTE_ADDR']=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR']=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
avatar
вообще желательно проверить, передаются ли эти переменные в массиве $_SERVER.
Сделайте
echo "<pre>"
print_r($_SERVER);
echo "</pre>"
avatar
Вообще, движок должен делать это всегда. Т.е. если присутствует HTTP header X-Forwarded-For — IP должен браться из него, в противном случае — $_SERVER['REMOTE_ADDR']. Если это не так, то это можно смело трактовать как мелкий баг движка и просить пофиксить.
avatar
оно так и есть…

function func_getIp() {
    return $_SERVER['REMOTE_ADDR'];
} 
avatar
Позвоните (напишите) в тех поддержку хостера, если съедут что это проблему в вашем сайте, то тогда уже ищите проблему в сайте. У меня уже не раз было что морочусь с сайтом, задрачую гугл, а в итоге в хостера просто ограничено это
avatar
avatar
Я не очень согласен с предложенным там кодом. Во-первых — только X-Forwarded-For, потому что только этот заголовок является стандартом де-факто. Во-вторых, если он таки есть — проверять его содержимое на вопрос «а IP ли там на самом деле».
avatar
Я спеку не смотрел, но Максим сказал что этот заголовок отправляется браузером, поэтому даже если поставить проверку, то все равно это небезопасно
avatar
Он тикет уже закрыл, но я там комент всё же черкнул :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.