php简单实现屏蔽指定ip段用户的访问

5年以前  |  阅读数:232 次  |  编程语言:PHP 

这段时间在统计工具里面总是看到一些未知浏览器、未知操作系统的用户的频繁请求而且ip都在一个段里面,使我产生了一些疑问,这些用户算是有效用户吗。网站访问没有浏览器没有操作系统的记录,我经过几天的分析确认这些访问不是人在访问而是一些机器或者是别人在采集我的站内的东西,萌生了一种屏蔽这个ip的想法。

把统计里面的没有浏览器记录的用户数据导出来看了下屏蔽ip已经不现实了ip不少一百多个,但是仔细观看不难看出这些ip都集中在某些ip断内。想个办法屏蔽整个ip段的用户,也许会造成一些误杀但是能确保网站流量是干净的。

好了,废话我也不说了。下面介绍下我的实现思路以及实现的代码

我是想的屏蔽ip段的前两端 111.11.11.11 这个ip我就要屏蔽以111.11开头的多有这个ip段内的访问

我的实现思路是把要屏蔽的ip集中存在一个数组中然后用获得的用户的ip去数组中匹配,在数组中的就屏蔽 不在数组中的就放行。

上菜吧 我写好的一个函数 很粗糙的一个高手们不要喷


    /** 
     * 屏蔽IP段 
     */ 
    function killIp($ip){ 
      $return = false; 
      $ip1 = array('111', '112', '102', '114'); 
      $ip2 = array('1', '2', '3', '4', '5'); 
      $temp = explode('.', $ip); 
      if (in_array($temp[0], $ip1) && in_array($temp[1], $ip2)) { 
        $return = true; 
      } 
      return $return; 
    } 

以上所述就是本文的全部内容了,希望大家能够喜欢。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例