会话期间IP可以更改吗?

时间:2011-09-26 05:00:08

标签: php session

会话期间IP可以更改吗?

不同的引擎(PHP,Django,Ruby等)怎么样?

PS:我不太明白什么是'动态IP'以及它们是如何被互联网提供商持有......以及会话如何被破坏......

更新 我应该跟踪IP更改以确保安全吗?我目前正在使用PHP,因此如果内置会话系统缺乏安全性,请提供一些代码和算法

3 个答案:

答案 0 :(得分:19)

IP可以随时改变 - HTTP背后的想法是每个请求都是独立的。

全球只有大约30亿个IPv4地址。因此,一些ISP(实际上大多数是ISP)动态地为每个连接客户端分配IP - 因此当该客户端断开连接时,IP可以重新用于其他人。

就“会议”而言 - 这一切都取决于国家的举办方式。最理智的方法是使用cookie - 它允许您在任意介质上从任意IP连接 - 此时,您不应该关注HTTP的IP层。

但同样,人们以做奇怪的事情而闻名,例如将IP用于他们从未想过的事情(在OSI / IETF意义上) - 比如识别,身份验证等。这是双坏的,因为一个IP可以通常意味着许多客户 - 例如,您的整个家庭可能共享相同的公共IP - 如果您和您的合作伙伴都访问同一网站,该怎么办?服务器怎么能告诉你们两个人分开?

<强> @Update

不,您不应该跟踪“安全性”的IP更改 - 唯一的例外是您可以处理geoIP功能,并且想要禁用/骚扰各种匿名服务的用户。

基本上,如果您的用户直接连接(而不是通过代理/ TOR),他们很可能会从附近的位置再次连接。如果您的用户从美国连接一次,一次从俄罗斯连接 - 这可能意味着这些是两个不同的人(其中一个可能窃取了凭据),或者用户使用了各种匿名者。

如果该网站是高价值目标(银行,金融,中央凭证(想想Google帐户)) - 您可以对IP进行地理查找,并比较距离是否在一小时内变化超过100公里两倍以上 - 这可能很可疑,你可以让用户获得额外的凭证。

否则,您可以显示最后几张IP - 但它可能是一块没有实际价值的锦上添花。

<强> @ UPDATE2 安全是一个棘手的问题 - 无论何时你处理它,你需要回答两个基本问题:

什么的安全性: 什么是如此有价值,需要保护

  • 用户隐私
  • 授予用户的权限
  • 资产(物理或虚拟)

的安全性: 你担心的攻击场景是什么

  • Cookie劫持(firesheep)(仅使用SSL并在大多数情况下完成 - 无法解决HTTP未加密且通常通过公共广播的问题)
  • 接管帐户(需要额外的凭据才能获得真正敏感的内容)
  • 污损?

答案 1 :(得分:3)

我只是想为此添加评论,虽然这是一个旧帖子。 例如,当访问者决定从移动数据切换到wifi时,您网站访问者的IP可能会发生变化。也许他想从你的网站下载一些内容,并认为最好使用wifi。在此过程中,会话可以保持不变。

答案 2 :(得分:1)

1)是的,会话期间IP地址可能会发生变化。

3)不,我无法想到“跟踪IP更改”的任何安全优势。

2)“动态IP地址”与“静态IP地址”相反:

a)使用动态IP(“DHCP”),网络将地址分配给主机(通常在启动时)。

b)使用静态IP,您使用固定,不变的地址配置主机。

c)动态IP是常态。它们更易于管理,它们使最终用户无需进行任何网络配置,并且可以降低网络地址冲突的风险。

这是一个很好的链接,可能使“静态”和“动态”寻址之间的区别更加明确:

http://compnetworking.about.com/od/workingwithipaddresses/qt/staticipaddress.htm