Intereting Posts
Меню навигации Mysql / php tree Используя GD в PHP, как я могу сделать прозрачный водяной знак PNG в PNG и GIF-файлах? (Файлы JPG работают нормально) PHP Частный доступ переменной от ребенка Выбор слов из строки в соответствии с массивом как потоковое видео с FTP в PHP Всегда ли хранить пароль в виде обычного текста в переменной php или константе php? HTML – Изменить \ Обновить содержимое страницы без обновления \ перезагрузки страницы Невозможно создать абстрактный класс … в appDevDebugProjectContainer.php – Symfony2 CURLOPT_NOBODY все еще загружает тело – используя полосу пропускания array_map для коллекции с интерфейсами массива? Как маршрутизировать контроллеры в подпапках с помощью codeigniter 3? Загрузить представление в переменную SMTP-соединение работает с локальной машины, но не с хостинга GoDaddy. Один и тот же smtp-сервер, используемый PHP – EC2 Реализация SES – Справка Черты против интерфейсов

проблема с $ _SERVER

я использовал $ _SERVER ['REMOTE_ADDR'], и он возвращает IP-адрес клиента (IP-адрес, с которого пользователь просматривает текущую страницу), но теперь (и тот же код) возвращает IP-адрес хоста (я проверил ip-адрес с IP-адресом) , проблема с хозяином или что? Спасибо.

HTTP_X_FORWARDED_FOR вы должны запросить HTTP_X_FORWARDED_FOR и если он не назначен, используйте REMOTE_ADDR .

@James @imez

По умолчанию IP-адрес клиента находится в $ _SERVER ['REMOTE_ADDR']. Когда пользователь входит на ваш сайт с помощью сервера PROXY (HTTP-шлюз), он сообщает вам, для кого он подключен (HTTP_X_FORWARDED_FOR), и предоставит его собственный прокси-сервер в $ _SERVER ['REMOTE_ADDR'].

Анонимные прокси будут пропускать HTTP_X_FORWARDED_FOR или просто лгать вам.

Знать, что у вас есть реальный IP-клиент, невозможно.

Я должен упомянуть, что ключ массива чувствителен к регистру и должен быть в верхнем регистре:

 var_dump($_SERVER['remote_addr']); echo "\n"; var_dump($_SERVER['REMOTE_ADDR']); 

Вывод:

 Notice: Undefined index: remote_addr in /home/adam/public_html/2011/01/04/foo.php on line 3 NULL string(15) "10.0.1.51" 

Я хотел бы var_dump($_SERVER) просто оценить состояние вашего мира и перейти оттуда.