Intereting Posts
mysql FULLTEXT поиск нескольких слов как читать математические уравнения файла docx, используя php-код-воспламенитель PHP получает код ответа HTTP-заголовка без cURL проверка формы для различных условий в воспламенителе кода Регулярное выражение для соответствия ключевому слову, если оно не заключено в фигурные скобки 2 Column Mysql Диапазон дат Поиск в PHP Установите Dingo в Laravel 5.2 и получите ошибку при вызове api Symfony2 Twig, включая заголовок с неработающими активами Проблемы с устаревшим Symfony, медленно переносящий массивный проект Получение первого дня недели в месяц с strtotime Доктрина один-к-одному однонаправленная Вызов неопределенной функции curl_init (), даже если он включен в php7 перетаскивание виджета WordPress не работает после обновления до 3.5.1 Удаление элементов из массива сеансов Laravel Загрузка нескольких изображений для одиночной записи в codeigniter

Как отслеживать реальный IP-адрес за прокси-сервером

Как мы можем отслеживать реальный IP-адрес за прокси-сервером с помощью PHP? Я имею в виду чистую реализацию PHP. Поскольку они могут отключить js своих браузеров.BTW, когда JS включен, я могу использовать геолокацию HTML 5, поэтому я не могу нужен IP-адрес для поиска пользователя.

Вы можете посмотреть заголовок X-Forwarded-For HTTP, если он отправлен, но нет гарантированного способа узнать.

Этот PHP-код будет работать и полезен для передовых и обратных прокси. Для обратных прокси заметите, что информация заголовка X_FORWARDED_FOR, если доступна вообще, может быть подделана и не должна быть доверена вообще.

if($_SERVER["HTTP_X_FORWARDED_FOR"] != ""){ $IP = $_SERVER["HTTP_X_FORWARDED_FOR"]; $proxy = $_SERVER["REMOTE_ADDR"]; $host = @gethostbyaddr($_SERVER["HTTP_X_FORWARDED_FOR"]); }else{ $IP = $_SERVER["REMOTE_ADDR"]; $proxy = "No proxy detected"; $host = @gethostbyaddr($_SERVER["REMOTE_ADDR"]); } 

Пользователь, который находится за прокси-сервером, не имеет глобально маршрутизируемого IP-адреса. Если вы хотите сохранить состояние сеанса, вам лучше иметь ключ сеанса, который вы создаете, и установить его как файл cookie или сохранить его в URL-адресе (есть компромиссы с этим подходом).

Если вы действительно хотите узнать, что их IP-адрес находится в их собственной сети, вы, вероятно, можете использовать javascript на странице, чтобы узнать об этом, а затем отправить его обратно на свой сервер.