php禁止网页抓取( 阻止多个IP地址访问的完整代码:这是禁止特定IP访问)

优采云 发布时间: 2021-09-12 13:10

  php禁止网页抓取(

阻止多个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 等

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线