【发布时间】: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,但我不知道更好......)
【问题讨论】: