如何在 PHP 中验证主机名?
也就是说,如果假设正在运行我的应用程序服务器,IP:192.168.1.77
并且请求包含主机名,而不是192.168.1.77
它不应该允许进一步处理。
任何帮助或建议将不胜感激。
如何在 PHP 中验证主机名?
也就是说,如果假设正在运行我的应用程序服务器,IP:192.168.1.77
并且请求包含主机名,而不是192.168.1.77
它不应该允许进一步处理。
任何帮助或建议将不胜感激。
我会抛出一个未经授权的页面。错误提示主机名不匹配
做什么的?如果设置正确,这是 Web 服务器已经处理的事情:
如果您使用基于名称的虚拟主机,则节内的 ServerName 指定必须出现在请求
Host:
标头中的主机名以匹配此虚拟主机。
无需在 PHP 脚本中额外检查这一点。
会不会是额外的安全呐?这就是我的客户要求
这是完全没有意义的,不会增加任何安全性。但是,我想这样做也没有什么坏处。
我猜你的意思是地址,而不是主机名。
if ($_SERVER['REMOTE_ADDR'] !== '192.168.1.77') die(header("Location: /"));
如果您真的不想检查用户主机名,请使用此
if ($_SERVER['REMOTE_HOST'] !== '192.168.1.77') die(header("Location: /"));
我认为这是您必须在 Web 服务器配置中执行服务器端的操作。(.htaccess)
order deny, allow
deny from all
allow from 192.168.1.77