在多个“域”上管理Cookie

Manage Cookie on Multiple "Domains"

本文关键字:管理 Cookie      更新时间:2023-09-26

我们的办公室有一个本地web服务器,我们用它来做一些报告和日常的订单处理——没什么大的。我最近添加了一些快速代码,将cookie添加到某些工作站,这样用户就不必一直登录。我遇到的问题是,由于服务器本身作为一个额外的工作站,人们可以从http://127.0.0.1, http://localhost或http://192.168.1.111访问它。这最终创建了三个不同的cookie域。是否有任何方法配置服务器来强制执行其中一个?或者我唯一的选择是移动所有书签指向实际的IP地址,并警告人们不要使用127.0.0.1/localhost?

如果访问者没有通过正确的主机名进入,您可以检查$_SERVER['HTTP_HOST']并重定向浏览器。

if('servername' != $_SERVER['HTTP_HOST']) {
    Location('http://servername/');
}

如果您正在运行内部DNS服务器,您可以为服务器配置主机/域名,而不必注册它-因为它仅供内部使用,您不需要将该名称暴露给世界其他地方。

即使没有DNS服务器,您也可以在每台机器的hosts文件中添加一个条目来进行name->ip映射。

配置你的网站使用那个名字,告诉每个人都使用那个名字,然后cookie会照顾好自己,因为它们都将使用那个主机/域名设置。然后,您可以为仅ip的命中添加vhost,并将它们重定向到新的命名地址。

通常cookie被设置为域名,而不是ip地址。当使用域名时,可以使用通配符设置

.apple.com

那么该域名的任何变体都将接受cookie