0

我被要求编写代码来跟踪访问我公司的 .NET 在线应用程序之一的访问者的 IP 地址。这实际上是我做的第二个,去年年底做了另一个网站。我当时和现在再次注意到,我有时会在我所知道的另一个盒子上显示相同的 IP 地址……有时是同事的,有时甚至不在这栋大楼里。代码非常简单,这是我获取地址的方式:

Dim IPAddress As String = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IPAddress = "" Then IPAddress = Request.ServerVariables("REMOTE_ADDR")

当用户登录时,我将结果记录到数据库中。我今天早上在我的开发箱上进行的测试,当然,产生了 127.0.0.1 ......很好,这正是我的预期。当我在我们的登台服务器上部署代码时,我得到了我的实际 IP 地址(我已经看到了它,当我看到它时就知道它了)。一切都很好.....但是随后我们 QA 组的一位同事进行了一些测试,并且我的 IP 地址已记录在数据库中。我确信我们不会共享那个地址。

我还记得在我第一次部署时看到了这一点,当时来自美国各个州的客户的交易都使用我的 IP 地址记录下来。我没有看到任何东西......有人可以告诉我这是怎么回事吗?几乎就像正在缓存事务标头并且后续调用没有获取新用户的信息。

有任何想法吗?谢谢!

4

1 回答 1

0

您看到的很可能是路由器的 IP 地址。在 Web 应用程序上跟踪用户的更好方法是使用 cookie 来标记他们。[有点像在树林里标记野生动物。] 然后,您可以使用 cookie 中的 ID 在回访时识别它们。

于 2010-09-09T17:37:21.540 回答