为什么 localhost 与 127.0.0.1 在会话方面存在差异

hel*_*llo 2 php session localhost

我想知道为什么这两个会话有区别?如果我有一个登录表单,它将会话传递到一个页面(即:)settings.php。如果我有localhost/settings.php会话会工作,如果我转到不同的页面然后回来。但如果是127.0.0.1/settings.php,会话将在第一次通过时工作,然后如果我重定向到其他地方并返回,它就不再存在了。

其他人也会遇到这种情况吗?或者这只是我?

谢谢

ava*_*sin 5

也许这会有所帮助: http://www.issociate.de/board/post/179979/Cookie_Problems_on_Localhost.html

“localhost”和任何 ip 都不被接受为 cookie 中的有效域标识符(根据 RFC)。

浏览器的 127.0.0.1 != localhost 。浏览器不会将从 127.0.0.1 设置的 cookie 发送到 localhost,因为它们是不同的域。

ps 实际上,一个ip上可以有多个域名。当然,出于安全原因,浏览器无法完全发送所有 cookie(想象一下,浏览器可以将您网站上的 cookie 发送到具有相同 IP 的虚拟主机上的所有网站)。