阻止从IP或区域访问网站

时间:2012-01-05 04:46:49

标签: php apache blocking

我试图阻止该网站被视为某个地区不存在。这可能吗?

我知道我们可以放一个die()并显示一个空白页面,但是有没有办法让它看起来像这个域名不存在?

4 个答案:

答案 0 :(得分:1)

您可以将geoip mod用于apache(http://www.maxmind.com/app/mod_geoip)。然后,Mod_rewrite规则可以确定如何处理页面。

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ http://www.america.com$1 [F]

F禁止页面访问

答案 1 :(得分:0)

不,除非您拥有该域控制下的DNS服务器。对于像domain.tld这样的域,您通常不会这样做,您只能根据客户端IP调整内容 - 例如,您可以按照建议的方式提供空白页面。但仍然可以使用nslookup等工具查询域。

答案 2 :(得分:0)

如果您无法访问DNS服务器,则可以添加.htaccess规则以禁止来自特定ipaddresses的人员。以下是一些示例.htaccess规则

order allow,deny
deny from 123.456.789.012     #block the visitors from the specific ipaddress 123.456.789.012
deny from 123.456.789.        #blocks the visitors from all ip within the range 123.456.789.xxx (i.e. 123.456.789.000 – 123.456.789.255)
deny from 123.456.            #blocks the visitors from all ip within the range 123.456.xxx.xxx
deny from 123.                #blocks the visitors from all ip within the range 123.xxx.xxx.xxx
allow from all                #allow from all other.

答案 3 :(得分:0)

<?php

if (getenv(HTTP_X_FORWARDED_FOR)) {
    $pipaddress = getenv(HTTP_X_FORWARDED_FOR);
    $ipaddress = getenv(REMOTE_ADDR);
echo "Your Proxy IPaddress is : ".$pipaddress. "(via $ipaddress)" ;
} else {
    $ipaddress = getenv(REMOTE_ADDR);
    echo "Your IP address is : $ipaddress";
}
?>

此代码可以用来获取访问者的IP地址......

要检测区域,您需要一些免费的api .. Try this..

This Api can also be used..

第二个真的很容易使用..

<A HREF="http://www.hostip.info">
 <IMG SRC="http://api.hostip.info/flag.php?ip=12.215.42.19" ALT="IP Address Lookup">
</A>