Я почти уверен, что помню, что читал - но больше не могу найти ссылки - об этом: на некоторых интернет-провайдерах (включая, по крайней мере, одного крупного интернет-провайдера в США) можно получить пользовательский запрос GET и POST появляются с разных IP-адресов.
(обратите внимание, что это полностью связано с программированием, и я приведу пример ниже)
Я не говорю о динамическом изменении вашего IP-адреса между двумя запросами.
Я говорю об этом:
IP 1: 123.45.67.89
IP 2: 101.22.33.44
Тот же тот же самый пользователь делает GET, затем POST, затем снова GET, затем снова POST, и серверы видят это:
- GET from IP 1
- POST from IP 2
- GET from IP 1
- POST from IP 2
Так что, хотя это тот же пользователь , веб-сервер видит разные IP-адреса для GET и POST.
Конечно, видно, что HTTP - это протокол без сохранения состояния, это совершенно правильно, верно?
Я хотел бы найти объяснение того, как / почему некоторые интернет-провайдеры настроили свои сети так, чтобы это могло произойти.
Я спрашиваю, потому что кто-то попросил меня реализовать следующий IP-фильтр, и я почти уверен, что это принципиально неработающий код (разрушающий хаос, по крайней мере, для одного крупного американского провайдера).
Вот фильтр Java-сервлетов, который должен защищать от некоторых атак. Аргументация такова:
" Для любого фильтра сеанса проверяет, является ли IP-адрес в запросе тем же, который использовался при создании сеанса. Поэтому в этом случае идентификатор сеанса не может быть украден для формирования поддельных сеансов."
http://www.servletsuite.com/servlets/protectsessionsflt.htm
Тем не менее, я почти уверен, что это по своей сути нарушено, потому что есть интернет-провайдеры, где вы можете видеть, что GET и POST приходят с разных IP-адресов.