php与python技术分享 php与python技术分享
  • PHP 相关
  • Python 相关
  • 综合内容
  • 工具箱
  • 登录
首页 › PHP 相关 › php 实现根据指定 UA 和 IP 进行屏蔽请求,防 AI 爬虫利器

php 实现根据指定 UA 和 IP 进行屏蔽请求,防 AI 爬虫利器

新程序
2025-05-07 11:28:35
本文摘要 DeepSeek
本文介绍了一个基于 PHP 的简易 IP/UA 屏蔽系统,通过两个文件实现后台控制和功能应用,可有效阻止指定 IP 或 IP 段以及爬虫/AI 请求,减少服务器资源占用。核心代码展示了如何通过 CIDR 格式或非标准 IP 段匹配客户端 IP,匹配成功则返回 403 禁止访问状态。该系统支持灵活配置,适用于简单的访问控制需求。

php实现根据指定UA和IP进行屏蔽请求,防AI爬虫利器-php与python技术分享

php 简易代码实现功能

纯 php 实现根据设置的 IP 或 IP 段、UA 进行请求屏蔽,将你不喜欢的爬虫或者 AI 请求屏蔽掉,减少服务器资源的占用,2 个文件实现后台控制和功能应用。

核心代码示例

foreach ($blocked_ips as $blocked_ip) {
        // 去除可能存在的前后空格
        $blocked_ip = trim($blocked_ip);
        if (!empty($blocked_ip)) {
            if (strpos($blocked_ip, '/')!== false) {
                // 处理标准 CIDR 格式的 IP 段
                list($network, $mask) = explode('/', $blocked_ip);
                $ip_long = ip2long($client_ip);
                $net_long = ip2long($network);
                $mask_long = -1 << (32 - $mask);
                if (($ip_long & $mask_long) === ($net_long & $mask_long)) {
                    // 若匹配,返回 403 状态码
                    header('HTTP/1.1 403 Forbidden');
                    echo '403 禁止访问: 您的访问已被阻止。';
                    exit;
                }
            } else {
                // 处理非标准 IP 段格式,如 36.132.174
                $parts = explode('.', $blocked_ip);
                $ip_parts = explode('.', $client_ip);
                $match = true;
                for ($i = 0; $i < count($parts); $i++) {
                    if ($parts[$i]!== $ip_parts[$i]) {
                        $match = false;
                        break;
                    }
                }
                if ($match) {
                    // 若匹配,返回 403 状态码
                    header('HTTP/1.1 403 Forbidden');
                    echo '403 禁止访问: 您的访问已被阻止。';
                    exit;
                }
            }
        }
    }

示例:http://gfw.phpy.cn/

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
3
几行 php 代码即可批量去除网站全部文件的 BOM 头
上一篇
在线版网页扒站小工具,纯 php 实现
下一篇

猜你喜欢

  • 纯 php 无数据库实现在线购物网站、发卡平台功能
  • 纯 php 无需数据库实现蜘蛛池外租平台功能,含 usdt 在线充值回调
  • php 实现网站备份功能,一件备份目标网站至本地
  • 纯 PHP 实现利用 openai 接口挖词功能
  • 长尾词、相关词、下拉词在线挖掘小工具

新程序

11
文章
0
评论
21
获赞

全站搜索

文章目录

专题展示

纯 php 无数据库实现在线购物网站、发卡平台功能
2025-05-09 9:40:41
纯 php 无需数据库实现蜘蛛池外租平台功能,含 usdt 在线充值回调
2025-05-08 8:09:30
php 实现网站备份功能,一件备份目标网站至本地
2025-05-08 8:01:58

最近发布

  • 纯 php 无数据库实现在线购物网站、发卡平台功能
  • 纯 php 无需数据库实现蜘蛛池外租平台功能,含 usdt 在线充值回调
  • php 实现网站备份功能,一件备份目标网站至本地
  • Python 单文件实现根据关键词利用 openai 等接口批量写文章
  • 纯 PHP 实现利用 openai 接口挖词功能
Copyright © 2025 php 与 python 技术分享.
现在登录
  • PHP 相关
  • Python 相关
  • 综合内容
  • 工具箱