我们的办公室里有一个本地网络服务器,我们用它来进行一些报告和普通的订单处理 - 没什么大不了的。我最近添加了一些快速代码来向某些工作站添加cookie,因此用户无法一直登录。我遇到的问题是,由于服务器本身充当额外的工作站,人们可以从http://127.0.0.1,http://localhost或http://192.168.1.111访问它。这最终会创建三个不同的cookie域。有没有办法配置服务器强制一个或另一个?或者我唯一的选择是将所有书签移动到指向实际的IP地址,并警告人们不要使用127.0.0.1/localhost?
服务器在Windows上运行Apache 2.2。
答案 0 :(得分:2)
如果访问者没有通过正确的主机名进入,您可以检查$_SERVER['HTTP_HOST']
并重定向浏览器。
if('servername' != $_SERVER['HTTP_HOST']) {
Location('http://servername/');
}
答案 1 :(得分:1)
如果您正在运行内部DNS服务器,则可以为服务器配置主机/域名,而无需注册 - 因为它仅供内部使用,您不需要将名称公开给其余的世界。
即使没有DNS服务器,您也可以在每台计算机的hosts文件中添加一个条目来进行名称 - > ip映射。
将您的网站配置为使用该名称,告诉所有人使用该名称,然后Cookie将自行处理,因为它们都将使用该主机/域名进行设置。然后,您可以为仅IP命中添加vhost,并将它们重定向到新的命名地址。
答案 2 :(得分:0)
通常,Cookie设置为域名,而不是IP地址。使用域名时,您可以使用通配符设置
.apple.com
然后该域名的任何变体都将接受cookie。