php禁止网页抓取( 阻止多个IP地址访问的完整代码:这是禁止特定IP访问)
优采云 发布时间: 2021-09-12 13:10php禁止网页抓取(
阻止多个IP地址访问的完整代码:这是禁止特定IP访问)
有时我们需要禁止某些访问者访问我们的网站。为此,最常见的原因是一些恶意用户继续访问我们的网站以试图破坏它。虽然有很多技巧可以防止多个IP地址访问我们的网站,比如使用htaccess、Apache mod_rewrite等。
这里介绍一个比较简单的方法,直接用PHP代码限制ip。
现在,我们首先定义一个数组,其中收录您要禁止的所有 IP 地址,然后调用 blockIP() 函数禁止该数组中的所有 IP 访问我们的站点。
//定义一个数组,包含你想要禁止的ip地址
$block_ip_list = array(
'127.0.0.1',
'127.0.0.2',
'127.0.0.3'
);
//调用函数禁止数组里面的所有IP
blockIP($block_ip_list);
首先,我们先定义一个函数来获取访问者的IP地址,这个函数会返回访问者的IP:
// 定义获得ip地址的函数
function getVisitorIP()
{
//check ip from share internet
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
} else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
然后我们首先使用getVisitorIP()函数获取当前访问者的IP,然后判断该IP是否在$block_ip_list数组中,如果是,则禁止:
//定义blockIP函数
function blockIP($block_ip_list){
$ip = getVisitorIP();
if(in_array($ip, $block_ip_list)){
die("Your IP(" . $ip . ") has been blocked !");
}
}
以下是防止多个IP地址访问的完整代码:
//获得访客ip地址
function getVisitorIP()
{
//check ip from share internet
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
} else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
//禁止符合的IP地址
function blockIP($block_ip_list){
$ip = getVisitorIP();
if(in_array($ip, $block_ip_list)){
die("Your IP(" . $ip . ") has been blocked !");
}
}
//定义所有想要禁止的IP
$block_ip_list = array(
'127.0.0.1',
'127.0.0.2',
'127.0.0.3'
);
//调用blockIP函数
blockIP($block_ip_list);
这是一段禁止访问特定 IP 的代码。实现起来非常简单。您也可以在其他情况下使用这段代码,例如跟踪网站visitors 等