Это хороший способ предотвратить подделку заголовка XFF и получить правильный IP-адрес клиента? - PullRequest
0 голосов
/ 16 июня 2019

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

Однако я знаю, что этот заголовок можно легко подделать, и атака может добавитьк нему.

Также на основании этого (https://support.f5.com/csp/article/K12264), я вижу, что у нас может быть запрос с несколькими заголовками.

Итак, при условии, что мой запрос имеет следующее: -

X-forwareded-For: clientIP, proxy1
X-forwareded-For: proxy2, proxy3
X-forwarded-For: proxy 4

Или даже

X-Forwarded-For: clientIp, proxy1, proxy2, proxy3, proxy4

Могу ли я сконфигурировать его в своем приложении для доверия # прокси, скажем, например, у меня есть 4, которым нужно доверять, тогда я просто построюупорядоченный список содержимого заголовка и просто выберите

list.size() - number of proxies I trust - 1?

Будет ли всегда выбираться правильный IP-адрес, даже если атака блокирует заголовок или добавляет другой заголовок к запросу?

Мне нужноубедитесь, что если злоумышленник подделывает заголовок, он добавит к нему заголовок, чтобы новый ip-адрес угнался до clientIp, а не после последнего прокси.

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

Спасибо

...