WordPress实现防采集的终极方法

本文介绍了一种防止WordPress站点被采集的方法,当同一IP在一秒内访问超过3个页面时,该IP将被记录并显示特定内容。同时,220.和116.开头的搜索引擎爬虫IP将被放过。
摘要由CSDN通过智能技术生成

防采集一直以来都是大家都在研究的问题,至于采集的性质我们就不去做过多的评论了,接下来我们就解决一下问题才是真理。

我们的思路是当同一ip在一秒钟时间内访问站内页面超过3个的时候,ip将会被记录到指定文件,并且只能看到提前设置好的指定的内容。(同时放过220.、116开头的蜘蛛ip)

代码如下:

网站根目录建立/logs文件夹,用于记录被拉黑ip

function track_ips() {
    // 设定记录文件路径
    $log_file = '/www/wwwroot/根目录/logs/wordpress_ips.log';
    // 获取访问者IP地址
    $ip_address = $_SERVER['REMOTE_ADDR'];
    // 获取当前时间戳
    $timestamp = time();
    // 从记录文件中读取已记录的IP列表
    $ips = file($log_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    // 记录当前IP地址和时间戳到记录文件
    $line = "$ip_address,$timestamp\n";
    file_put_contents($log_file, $line, FILE_APPEND | LOCK_EX);
    // 如果同一IP在1秒内访问超过3个页面,则将其加入黑名单
    $count = 0;
    foreach ($ips as $row) {
        list($ip, $time) = explode(',', $row);
        if ($ip == $ip_address && $timestamp - $time < 1) {
            
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值