$ _SERVER (’REMOTE_ADDR’) выдает адрес сервера а не клиента

D
На сайте с 04.03.2007
Offline
113
8369

Собственно, такая проблема: переменная $ _SERVER (’REMOTE_ADDR’) выдает ip адрес сервера (где размещен сайт), а не клиента, который посещает сайт.

Мой хостер эту проблему решить не может, говорит - глобально везде правильный ip, мол проблемы локально, однако я ничего такого не прописывал, что могло бы изменить содержание этой переменной, да и не знаю, как это делается.

Сайт уже неделю работает неправильно: ip используется - при регистрации, авторизации, подсчете количества просмотров - практически везде.

Прошу помочь советом как решить эту проблему? Хостер хороший и его менять пока не хочу. Но при такой проблеме придется это сделать.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

хм... а мож у них там nginx и не поставлен mod_realip

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
DyaDya
На сайте с 11.04.2007
Offline
147
#2

Создайте обычный скрипт с кодом:

<?
phpinfo();
?>

Изучите, то ли там? Если там IP сервера, значит вам к админу! Умному админу!

Переменных много, может вы сами что попутали?

http://ru.php.net/manual/ru/reserved.variables.server.php

--

Может прокся какая стоит у хостера?

Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
D
На сайте с 04.03.2007
Offline
113
#3
LEOnidUKG:
хм... а мож у них там nginx и не поставлен mod_realip

Cпросил. Служба поддержки говорит установлен.

DyaDya, переменные

HTTP_X_FORWARDED_FOR

HTTP_X_REAL_IP

показывают правильный ip

REMOTE_ADDR - ip сервера.

ciber
На сайте с 04.01.2008
Offline
215
#4

$ _SERVER [’REMOTE_ADDR’]=$ _SERVER [’HTTP_X_FORWARDED_FOR’];

Первой строчкой всех скриптов.

P
На сайте с 15.08.2008
Offline
15
#5
ciber:
$ _SERVER [’REMOTE_ADDR’]=$ _SERVER [’HTTP_X_FORWARDED_FOR’];

Первой строчкой всех скриптов.

Плохое решение, т.к. HTTP_X_FORWARDED_FOR может содержать список прокси серверов (если они есть), перечисленные через запятую. Таким образом использование HTTP_X_FORWARDED_FOR вместо REMOTE_ADDR может лишь навредить. К тому же, это значение приходит вместе с запросом, поэтому может содержать всё, что угодно.

DyaDya
На сайте с 11.04.2007
Offline
147
#6

Ну так выясненные нюансы (HTTP_X_FORWARDED_FOR, HTTP_X_REAL_IP - показывают правильный ip, REMOTE_ADDR - ip сервера) предъявите тех. поддержке. Может они всё таки поймут почему так? Явно, не от хорошей жизни.

---

Да и судя по всему, прокся между вами и сервером всё-таки есть! ИМХО.

[Удален]
#7

Сто процентов из-за nginx

http://www.sysoev.ru/nginx/ здесь инфа

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий