阻止从特定IP访问网站?

时间:2009-08-12 14:44:29

标签: php wordpress authentication ip-address

我正在尝试阻止来自PHP中两个IP地址的访问,最好通知他们阻止它们。

无论如何我可以做到这一点,或者只是不可能使用PHP?

我已经看过这样做的JavaScript版本,但如果浏览器关闭了JavaScript,那么他们肯定可以绕过它。

提前感谢您的任何建议/帮助。

4 个答案:

答案 0 :(得分:2)

index.php中的

if($_SERVER['REMOTE_ADDR'] == '10.0.0.1' || $_SERVER['REMOTE_ADDR'] == '10.0.0.2')
    die('Go away, banned person');

或者这个版本,当你开始有一两个禁令时变得更易于管理:

$bans = array(
    '10.0.0.1'  => true,
    '10.0.0.2'  => true,
);
if(!empty($bans[$_SERVER['REMOTE_ADDR']]))
    die('Go away, banned person');

答案 1 :(得分:2)

看看这个page。它包含获取客户端IP地址的功能。您可以在任何页面上调用此选项,如果IP地址匹配,则显示错误消息。

但更简单的解决方案是使用.htaccess

将以下行添加到.htaccess

order allow,deny
deny from xx.xx.xx.xxx
deny from xxx.xxx.xxx
allow from all

其中xxx是您要阻止的IP号码。

答案 2 :(得分:1)

$ _ SERVER ['REMOTE_ADDR']应包含IP。

答案 3 :(得分:0)

要阻止的一个地方是在Web服务器上。那么只有允许的IP甚至可以进入你的网站,你不必引入任何特殊的处理代码。

请参阅http://www.iphowto.com/Block_IP_How_To.aspx