Приведи друга: тебе 15% с каждого заказа, ему скидка 10%
Глоссарий

X-Forwarded-For

Заголовок, записывающий цепочку адресов, через которые прошёл запрос. Когда прокси добавляет туда ваш собственный адрес, он вас и объявил.

X-Forwarded-For существует для инфраструктуры, которая стоит перед сервером намеренно: балансировщики и обратные прокси дописывают адрес клиента, чтобы приложение за ними знало, кто пришёл. В эту сторону он полезен и ожидаем.

В обратную сторону это утечка. Прямой прокси, дописывающий ваш настоящий адрес, отдаёт получателю ровно то, за неотдачу чего вы платили. На этом механизме и держится старое деление прокси на прозрачные, анонимные и элитные: на том, что они пишут в заголовки на выходе.

Заголовок к тому же элементарно подделывается, поэтому серверы, которым это важно, не доверяют ему слепо. Сайт за собственным балансировщиком читает только ту запись, которую дописала его же инфраструктура, а пришедшее снаружи игнорирует.

Для покупателя прокси всё практическое содержание термина сводится к одной проверке: отправить запрос через выход туда, где вернут заголовки, и посмотреть, что дошло. Если там ваш адрес, всё остальное в настройке значения не имеет.

Кто его пишет и кто читает

Заголовок несёт список адресов через запятую, который дополняет каждый узел, решивший участвовать. Чтение слева направо даёт сначала исходного клиента, а в конце последний узел, и верно это только если честны были все.

Поскольку заголовок может отправить и сам клиент, его содержимое это недоверенный ввод. Приложения, использующие его правильно, считают узлы от собственной границы внутрь, а остальное отбрасывают.

Соседние заголовки ведут себя так же: Forwarded, X-Real-IP, Via и Client-IP несут тот же риск, когда их заполняет прямой прокси.

Проверка выхода одним запросом

Подойдёт любая точка, которая возвращает полученные заголовки. Важно то, чего в них нет:

Что отправляет ваш выход

# спросить эхо-сервис, что он получил
curl -s -x login_c_US:password@proxy.sotaproxy.com:10000 https://httpbin.org/headers

# и то же через статический адрес
curl -s -x login:password@YOUR-ISP-IP:50100 https://httpbin.org/headers

# свой собственный адрес для сравнения
curl -s https://api.ipify.org
  • Вашего адреса не должно быть в возвращённых заголовках нигде. Если он там есть, выход прозрачный, и купленная география это украшение.
  • Via и X-Real-IP стоит смотреть тем же запросом: прокси бывает чистым по одному заголовку и нечистым по другому.
  • Проверка занимает секунды, и повторять её стоит после любого изменения клиента, потому что библиотеки иногда добавляют эти заголовки сами.

Что заголовок доказывает и что нет

Его отсутствие не доказывает анонимности

Оно доказывает, что закрыта эта одна утечка. Отпечатки, куки и поведение это отдельные вопросы.

Его наличие не всегда утечка прокси

Сайт за балансировщиком дописывает собственную запись. Важно, есть ли в списке ваш адрес.

Это не аутентификация

Любой может отправить любое значение. Сайт, доверяющий ему при контроле доступа, имеет ошибку, а не функцию.

Это не единственная утечка

Резолвинг DNS мимо туннеля выдаёт ту же информацию другим путём.

Смотри на практике

Готов использовать x-forwarded-for?

SotaProxy даёт доступ к ротирующим резидентским, мобильным, дата-центр и ISP прокси. Без минимальных платежей.

Начать