如何防止访客通过 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