Определение IP при проксировании

Как верно определить IP адрес посетителя при использовании проски-сервера NGINX.

В продолжении этой записи, возник вопрос о получении реального ip посетителя.

Всё оказалось куда проще: надо на сайте, который уже размещён за проксёй, заменить функцию

$_SERVER["REMOTE_ADDR"]

на:

<?php
    echo $_SERVER['HTTP_X_FORWARDED_FOR'];
?>

Хотите добить скрипт всеми DLC? Пожалуйста:

<?php
 
$client  = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote  = @$_SERVER['REMOTE_ADDR'];
 
if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client;
elseif(filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward;
else $ip = $remote;
 
echo $ip;
 
?>
Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *