PageAdmin CMS防范恶意爬虫的笔记分享

简介: 学校官网因恶意爬虫导致访问缓慢:Nginx日志显示每秒3000+无Referer请求,数据库CPU超80%。通过配置防盗链(限制/upload/、/templates/目录引用)、启用PageAdmin静态化(外网强制访问HTML),显著降低数据库压力与带宽消耗。(239字)

最近有用户反映学校官网越来越慢,打开网站后发现100多kb的图片要几秒才能加载完毕,通过运维工具看到入站请求每秒高达3000多条,数据库的cpu占用了超过80%,由于网站采用PageAdmin CMS制作,咨询官方技术后得出结论就是存在恶意蜘蛛或爬虫,知道原因后开始着手解决,解决步骤如下,顺便做一个笔记。

1、查看nginx请求日志查找原因

查看日志后发现,每秒有几千条访问记录,这种明显就不是正常的浏览新闻,每条的请求记录referer项都是空,从这点可以判断是恶意爬虫频繁爬取站点资源和页面。

2、nginx配置防盗链

网站图片没有做cdn缓存,也没有在后台启用远程oss储存,大量的爬虫爬取图片资源,服务器带宽很容易耗尽,这就是打开网站图像加载缓慢的主因。

在nginx添加以下防盗链配置:

location /upload/ 
     {
   
       root /srv/wwwroot/ecreator/;  # 项目实际路径

       # 防盗链配置 改为你的域名
       # valid_referers none blocked domain.cn *.domain.cn;
       valid_referers  domain.cn *.domian.cn;
       if ($invalid_referer) {
   
            return 403 ;
        }
     }

location /templates/ 
     {
   
       root /srv/wwwroot/ecreator/;  # 项目实际路径

       # 防盗链配置,改为你的域名
       # valid_referers none blocked domain.cn *.domain.cn;
        valid_referers  domain.cn *.domian.cn;
        if ($invalid_referer) {
   
            return 403 ;
        }
     }

3、开启静态功能

网站部署上线后,一直使用的是动态页面,爬虫每次爬取都会连接数据库进行查询,大量访问进来,数据库cpu必然飙升,主要原因如下:

高频并发‌:短时间内发起成千上万次请求,导致数据库连接数激增,线程调度开销变大。

深度遍历‌:爬虫可能遍历所有 ID 或分页参数,导致大量重复或全量数据查询。

复杂查询触发‌:如果爬虫构造了特殊参数,可能触发后端复杂的联表查询或聚合操作。

缓存穿透/失效‌:如果爬虫请求的是未缓存的动态内容,或者故意请求不存在的资源(导致缓存穿透),所有压力都会直接透传到数据库。

解决办法:

强制外网访问静态页面,PageAdmin CMS平台版本有很强大的静态配置功能,开启步骤如下:

3.1:进入应用后台>站点设置,如下图:

siteset.png

站点静态功能:选择开启
前端页面访问模式:有三个模式,分别是:动态页面模式、动静态混合访问模式、内部Ip访问动态,外部访问静态文件模式

这里选择第三个,很多用户认为开启静态后运维麻烦,实际上PageAdmin的很多操作如发布内容,更新栏目等默认都会同步刷新关联的静态页面文件,当然修改模版这类操作还是需要手工去生成静态,但是比起收益,增加一点运维时间成本也是必要的。

3.2:第一次开启静态功能,需要全量生成所有页面的html文件,进入Html刷新菜单,如下图:

htmlmenu.png

可直接一键刷新所有栏目、内容页和所有专题页面。

实测:11万多条新闻数据,生成时间大概15分钟左右,如下图:

htmlTime.png

PageAdmin生成静态是采用后台异步多线程的模式,点击生成按钮后就可以离开,不需要在原页面等待,这点比其他cms做得更人性化。

以上就是本次官网防范恶意爬虫的实操记录,希望能帮助大家。

相关文章
|
7月前
|
人工智能 前端开发 数据可视化
CMS内容管理系统的发展历史及趋势分析
CMS历经五代演进:从90年代静态HTML发布,到2000年动态数据库管理;2010年响应式多端适配;2015年无头架构解耦内容与展示;至2023年第五代,融合低代码、BI与AI大模型,实现智能一体化协同。技术跃迁映射互联网发展脉络。
481 1
|
6月前
|
编解码 Java 关系型数据库
SpringBoot 集成阿里云直播 + 点播全实战:推流、拉流、转码、回放一站式落地
本文详解阿里云直播与点播的集成实践,涵盖核心原理(推流/拉流链路、录制转点播联动)、环境配置、SpringBoot项目搭建(Maven依赖、数据库设计、鉴权工具)、全模块代码实现(直播流管理、点播上传播放、事件回调处理)及常见问题排查,助力快速构建稳定音视频应用。
1104 6
|
6月前
|
自然语言处理 运维 安全
2026支持站群集约化的cms建站系统分享
本文介绍5款原生支持站群集约化的CMS系统:PageAdmin(政务/高校首选,信创适配强)、Drupal(开源灵活,多语言佳)、AEM(高端DXP,适合跨国集团)、PhpCMS(国产轻量,百站内适用)和禅知(MVC架构,专注外贸多语言)。聚焦统一平台、安全、管理与服务,助力降本增效、提升体验。
587 5
|
7月前
|
弹性计算 安全 Linux
2026阿里云建站教程:从购买ECS到部署PageAdmin CMS,完整步骤+踩坑记录
本文分享 2026 年阿里云搭建 PageAdmin 网站全流程,含购服务器、域名、备案、部署步骤,总花费 134 元耗时约 15 天,并总结 5 个常见问题及解决办法。
1093 1
|
6月前
|
JSON 前端开发 Linux
PageAdmin 统一身份认证平台 - 接入实施步骤
基于OAuth 2.0的统一身份认证平台,为多应用集群提供单点登录与统一授权。支持第三方应用接入及集中权限配置,提供标准API接口实现系统对接。
413 0
|
6月前
|
存储 JSON 前端开发
PageAdmin平台化:多业务系统动态构建技术
基于元数据驱动与可视化编排,实现多业务系统隔离托管。通过数据模型设计器、页面渲染引擎及BPMN流程引擎,支持零代码快速构建工单、CRM等系统,解决数据孤岛问题。
317 0
|
6月前
|
关系型数据库 MySQL Linux
如何用PageAdmin CMS和阿里云快速搭建一个网站?完整步骤教程
本教程详解如何使用PageAdmin CMS搭配阿里云服务器,从购买域名、配置环境到部署上线,附完整步骤与常见问题解决。
479 0
|
7月前
|
人工智能 Cloud Native
AI 普及趋势下国内 CMS 建站系统发展前景分析
国内CMS正加速AI化,从单点功能迈向全流程融合。未来3–5年将呈现五大趋势:AI原生创作、数据+AI双驱动运营、智能对话交互、云原生AI基座、普惠下沉普及。一些cms厂商已落地大模型集成与低代码AI平台,推动建站工具升级为“数字内容大脑”。
481 0
|
8月前
|
机器学习/深度学习 Python
浅析线性回归、线性神经网络、Logistic/Softmax回归
线性回归通过最小二乘法或梯度下降等优化线性目标函数,是机器学习基石。其演进催生感知器、逻辑回归与Softmax分类——三者本质均为凸的线性判别模型,统一于“输入加权求和+非线性输出校正”范式。(239字)
361 5
|
8月前
|
机器学习/深度学习 人工智能 数据可视化
2026年cms建站系统行业的未来发展趋势及挑战分析
AI浪潮下,传统CMS加速转型:一是智能化升级,借力大厂API实现内容识别、创作与审批;二是无头架构普及,支持多端一致发布,提升部署效率;三是低代码集成创新,打通数据孤岛,构建统一数字平台。国产CMS正引领行业新方向。(239字)
325 13