【问题标题】:How to deal with dynamic IP addresses of clients on a HTTP server?如何处理 HTTP 服务器上客户端的动态 IP 地址?
【发布时间】:2016-11-16 07:12:14
【问题描述】:

我正在编写一个 HTTP 服务器。它会记住使用其 IP 地址登录的用户。它在具有 192.168.... IP 的专用网络上运行良好。但是当我将它推出到公共服务器并通过谷歌浏览器连接时,我注意到我的客户端 IP 在页面请求的中间发生了变化。它不是每天发生一次,而是一直。所以我的服务无法正常工作,因为用户不断被“注销”。

有人能解释一下这是怎么发生的以及为什么会发生吗?我最好的猜测是 ISP 正在给我一个新的动态 IP。我从家里知道IP不会经常改变。但现在我在工作,还有很多其他用户上网。

如果这完全正常,我可以做些什么来记住我的客户?
使用 IP 地址有问题吗?我必须使用 cookie 或会话吗?


服务器日志:

04:41:50: server started at 1__.1__.1__.1__:80 04:42:56: client connected: 217.224.68.88:28439 04:42:56: -> GET request: / 04:42:56: client connected: 217.224.68.88:28437 04:42:56: client connected: 217.224.68.88:28436 04:42:56: client connected: 217.224.68.88:28395 04:42:56: client connected: 217.224.68.88:28438 04:42:56: client connected: 217.224.68.88:28394 04:42:56: -> GET request: /css/style.css 04:42:56: -> GET request: /js/basics.js 04:42:56: -> GET request: /js/login.js 04:42:56: -> GET request: /js/md5.js 04:42:56: -> GET request: /js/script.js 04:42:56: client connected: 217.91.48.78:28396 04:42:56: -> GET request: /js/tree-view.js 04:42:56: client connected: 217.224.68.88:28399 04:42:56: -> GET request: /js/sprites.js 04:42:57: client connected: 217.91.48.78:28397 04:42:57: -> POST request: LoginNeeded() 04:42:57: client connected: 217.91.48.78:28386 04:42:57: -> GET request: /favicon.ico 04:42:57: client connected: 217.91.48.78:28387 04:42:57: client connected: 217.91.48.78:28384 04:42:57: -> GET request: /images/xxx-logo.png 04:42:57: -> GET request: /images/image.png

(我不确定这个问题是否属于 Stackoverflow,但我不知道更好......)

【问题讨论】:

    标签: http server ip


    【解决方案1】:

    通过 IP 地址跟踪用户被认为是不好的做法。它会导致广泛的问题 - 例如,就像您的情况一样,IP 地址很容易更改并且不一致。此外,有时您有许多来自同一 IP 地址的用户。直到最近,一些国家甚至为整个国家分配了一个 IP 地址。

    更常见的做法是使用HTTP sessions。它们让您可以非常准确地跟踪用户,并且已经有许多基础设施和库可供他们管理。

    【讨论】:

    • 感谢您的信息。尽管您链接到的 wiki 块没有提到 HTTP sessions 您(可能)指的是。
    猜你喜欢
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    相关资源
    最近更新 更多