如何禁用 IP 访问

如何禁用 IP 访问

如何防止访客通过 IP 访问我的网站?例如,我的网站使用 IP 1.2.3.4,当他们访问http://1.2.3.4直接地,我想将他们重定向到 www.mywebsite.com 或向他们显示一条错误消息。

我正在使用 Apache 2.2。谢谢!

答案1

LazyOne 指出你可以这样做mod_rewrite(将您的 IP 重写为您的域名 - 这里有很多与编写重写规则有关的问题)。

我真的不明白这样做有什么价值:每个人都通过 IP 地址访问您的网站(在 DNS 查找将您的名称转换为 IP 之后),因此唯一真正的区别是标头中显示的内容Host:,并且当浏览器遵循重定向时,您将收到额外的 HTTP 请求,这会使速度略微变慢。但是,
如果您出于某种原因需要在标头中使用特定值Host:,则重写规则解决方案将适合您。

答案2

除了阅读这里之外:http://httpd.apache.org/docs/2.0/mod/mod_access.html

您可以随时通过 tcpwrappers /etc/hosts.deny 或 iptables 删除 :P

相关内容