журнал доступа httpd, IP зарегистрировался, инвертируется прокси, как найти фактический прокси

Любое использование несколько проверочных вызовов:

test 1 = 1 && test 0 = 1 -o 1 = 1

или [[:

[[ 1 = 1 && (0 = 1 || 1 = 1) ]]
1
задан 24 January 2012 в 01:34
2 ответа

Вы ищете заголовок X-Forwarded-For . Любой достойный прокси добавит этот заголовок в HTTP-запросы, которые он пересылает.

Если весь ваш сайт находится за этим прокси-сервером, вам необходимо найти для него соответствующий LogFormat , который обычно будет выглядеть следующим образом:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

, и добавить к нему заголовок (или поменять местами % h , который будет только вашим обратным прокси-сервером), например:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

Если вы не хотите переопределять объединенный формат журнала , создайте свой собственный:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_proxy
CustomLog /path/to/logfile.log combined_proxy

]% {

} i - это способ добавить любой другой заголовок запроса в ваши файлы журнала.

Примечание: Этот заголовок не всегда будет одним IP-адресом. Если запрос прошел более чем через один прокси, вы получите список в форме, разделенный запятыми: клиент, прокси1, прокси2 ; вам может потребоваться обновить скрипты или парсеры журналов, чтобы учесть это.

4
ответ дан 3 December 2019 в 16:37

Да, есть.

Для текущей версии Apache: mod_rpaf
Для чего-либо более позднего, чем ветка 2.3: mod_remoteip

Оба эти заменит переменную REMOTE_ADDR в запущенном процессе Apache на последний IP-адрес из входящего заголовка X-Forwarded-For от любого доверенного обратного прокси-сервера. Этот IP-адрес также будет регистрироваться в ваших стандартных журналах Apache без необходимости их изменения вообще.

Эта переменная также будет доступна вашему PHP-коду как $ _ SERVER ['REMOTE_ADDR'] , где обычно вы ожидаете, что это будет удаленный IP-адрес.

Единственная конфигурация, которая требуется для этих модулей, - это предоставить им список доверенных обратных прокси.

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

3
ответ дан 3 December 2019 в 16:37

Теги

Похожие вопросы