cleantalk/anti-ddos-lite

一个用于保护您的网站免受DDoS攻击或爬虫机器人爬取的PHP应用。

2.0.2 2023-07-04 05:32 UTC

This package is auto-updated.

Last update: 2024-09-20 09:22:58 UTC


README

Build Status

Anti-DDoS-Lite(反爬虫应用)是一个PHP应用,用于保护您的网站免受DDoS攻击或爬虫机器人爬取。

描述

Anti-DDoS-Lite帮助阻止爬虫,减少服务器负载,并在它们到达您的原始网页之前阻止不良爬虫。在打开网站页面时,应用程序执行JavaScript检查,如果检查失败,则显示一个阻止页面。

大多数爬虫无法执行JavaScript代码或只能部分执行。此应用通过简单的JavaScript代码过滤来自爬虫的流量。爬虫被拒绝读取原始页面,它们只能看到一个阻止页面。因此,通过消除参与DDoS攻击的爬虫流量,减少了DDoS攻击。

同时,合法/真实访客在短暂的延迟后获得原始页面,因为合法/真实访客的浏览器执行JavaScript代码。合法/真实访客只在第一次访问网站时看到阻止页面。

如何使用

  1. 通过各种方式将应用作为index.php的第一行包含

A 下载、解压并包含应用

<?php
// This file have to be very first included
require "anti-ddos-lite/anti-ddos-lite.php";

//
// index.php code bellow
// ...
//

?>

B 或通过composer包安装应用

composer require cleantalk/anti-ddos-lite
<?php
// Init the app before your web app's main logic
\Cleantalk\CleantalkAntiDdosLite\CleantalkAntiDdosLite::init();
  1. 为anti_ddos_salt生成新的值

跳过受信任网络、自治系统(AS)的访客的保护

设置GeoIP并在$not_rated_as中列出排除的自治系统

  $not_rated_as = '';

跳过受信任的用户代理

跳过受信任的用户代理。允许使用正则表达式,以下是一个示例。

  $not_rated_ua = array(
        'CleanTalk Uptime bot.+',
        'Googlebot', 
        'Bingbot',
        'Baiduspider',
        'YandexBot',
        'facebot',
        'facebookexternalhit/1.1 (+https://#/externalhit_uatext.php)',
        'ia_archiver'
);

变更日志

版本 2.0.2

  • 修复。修复了document.write漏洞。
  • 修复。将UA列表转换为正则表达式。
  • 修复。修复了UptimeRobot UA。
  • 修复。正确跳过了受信任的UA。

版本 2.0.1

  • 新增。检测无头模式。
  • 修复。现在将正确地阻止没有JS的访客。
  • 重构和微小修复。

联系方式

邮箱:welcome@cleantalk.org