Я почти уверен, что помню, как читал - но больше не могу найти ссылки - об этом: на некоторых интернет-провайдерах (включая, по крайней мере, одного крупного интернет-провайдера в США) может появиться запрос пользователя 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-адресов.