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

时间:2021-05-26

这段时间在统计工具里面总是看到一些未知浏览器、未知操作系统的用户的频繁请求而且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; }

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章