Noo*_*z42 4 ip http-get http-post
我很确定我记得读过 - 但是找不到链接了 - 关于这个:在一些ISP(包括美国至少一个大型ISP)上,有可能让用户的GET和POST请求出现来自不同的IP.
(请注意,这完全与编程有关,我将在下面举例说明)
我不是说你的IP地址在两个请求之间动态变化.
我在说这个:
IP 1: 123.45.67.89
IP 2: 101.22.33.44
Run Code Online (Sandbox Code Playgroud)
在相同的用户发出GET,那么一个帖子,然后再得到,然后再次发布和服务器看到这一点:
- GET from IP 1
- POST from IP 2
- GET from IP 1
- POST from IP 2
Run Code Online (Sandbox Code Playgroud)
因此,尽管它是同一个用户,但Web服务器会看到GET和POST的不同IP.
肯定看到HTTP是无状态协议,这是完全合法的吗?
我想找回关于某些ISP如何/为什么配置其网络以便可能发生这种情况的解释.
我问,因为有人要求我实施以下IP过滤器,我很确定它是从根本上破坏了代码(破坏了至少一个主要的美国ISP用户的破坏).
这是一个Java servlet过滤器,可以防止某些攻击.原因是:
" 对于任何会话过滤器检查请求中的IP地址是否与创建会话时使用的相同.因此,在这种情况下,会话ID不能被盗用于形成虚假会话."
http://www.servletsuite.com/servlets/protectsessionsflt.htm
但是我很确定这本身就是破坏的,因为有些ISP可能会看到来自不同IP的GET和POST.
一些ISP(或大学网络)运行透明代理,这些代理从处于最小网络负载的传出节点中继请求.
也可以在本地计算机上配置它以使用具有最低负载的NIC,这可能再次导致这种情况.
您是正确的,这是HTTP的有效状态,虽然它应该相对不频繁发生,但这就是为什么基于IP的用户验证不是一个适当的身份确定.
归档时间: |
|
查看次数: |
303 次 |
最近记录: |