帝国 CMS 防采集怎么设置

域名注册
域名注册 正式会员超兽战士 👑年卡会员
发布于 2026-10-07 23:25 ·1 浏览 ·0 回复

学完这篇,你能在帝国CMS后台把自带的防采集开关打开,并配合模板和服务器配置,让大部分采集器抓不到你的正文内容。

第一步:先搞明白帝国CMS的防采集在防什么

帝国CMS的防采集不是防火墙,它只在「内容页输出」这一层做手脚:往正文里塞干扰字符、要求访客过一次验证、或者让内容靠JS动态加载。它对直接抓HTML源码的采集器(火车头、八爪鱼、自己写的Python脚本)有效,对人工复制无效。所以别指望打开开关就一劳永逸。

注意:开启防采集后,百度、搜狗等正规搜索引擎的抓取也可能受影响,要先把搜索引擎IP段加进白名单,否则收录会掉。

第二步:进后台打开防采集设置

这一步的目标是找到总开关。登录后台(默认地址是你的域名后加 /e/admin/),左侧菜单点「系统」,在展开的列表里找「防采集设置」并点进去;如果你用的是7.2或更早版本,这一项在「系统」→「系统设置」下面。

页面上通常有这几项要填:

  • 「开启防采集」:选「是」
  • 「防采集方式」:可选「验证码」「内容干扰码」「跳转」,新手建议先选「内容干扰码」
  • 「防采集时间间隔」:填5~10秒,表示同一IP在这个间隔内反复刷内容页会被拦
  • 「免防采集IP」:把你自己的办公IP、服务器IP、百度与搜狗蜘蛛的IP段填进去,一行一个

填完点页面底部的「提交」保存。

第三步:配置内容干扰码

回到「防采集设置」,如果上一步选的是「内容干扰码」,下面会出现干扰码相关选项。把「干扰码数量」设为3~5,干扰文本随便写几句无意义的话。保存后打开任意一篇内容页,按 Ctrl+U 看源码,正文里会多出几段带随机样式的文字——人眼看不出异常,复制走却会带一堆垃圾,采集器抓回去同样是脏数据。

注意:干扰码是写在HTML里的,仍能被程序清洗掉,它只是抬高采集成本,不是绝对防护。

第四步:按栏目设置访问权限

进「栏目」→「管理栏目」,找到要保护的栏目点「修改」,切到「权限设置」标签页,把「访问权限」改成「会员」或指定会员组,保存。这样游客直接访问内容页会被跳到登录页,采集器拿不到正文。这招适合付费内容或内部资料,公开资讯站别这么干。

第五步:模板里再补一道

进「模板」→「管理内容模板」,打开你正在用的内容模板,找到正文输出标签 [!--newstext--],在它附近插入一段JS,把关键段落用 document.write 输出。采集器不执行JS,抓到的就是空的。

同时检查「系统」→「系统参数设置」→「信息设置」,把RSS/XML全文输出关掉——很多人防了半天正文,结果RSS里全文输出,等于自己开了后门。

第六步:服务器层兜底

后台设置只挡得住小采集器,量大的要靠服务器。在站点根目录的 .htaccess(Apache)或 nginx.conf 里加规则:把空 User-Agent、常见采集器UA(如 Python-urllib、Scrapy)返回403,再对单个IP做每分钟请求数限制。

第七步:验证效果

用浏览器无痕窗口访问一篇内容页,看是否出现干扰码或验证;再用命令行测试一下:

curl -A "" https://你的域名/内容页地址

如果返回403或正文为空,说明配置生效;如果还是完整正文,就回到第二步检查「免防采集IP」里是不是把自己的测试IP也放行了。

小结

  • 入口在后台「系统」→「防采集设置」,7.2及更早版本在「系统设置」下
  • 先填白名单再开防采集,别把搜索引擎和自己一起挡了
  • 干扰码、验证码只能抬高采集成本,不解决根本问题
  • 栏目权限 + 模板JS + 关闭RSS全文,三层叠加才有效
  • 最后用curl验证,并在服务器层加UA过滤和频率限制兜底
版权声明:本文来自 GJ站长论坛《帝国 CMS 防采集怎么设置》
原文链接:https://www.gj0.com/thread-615.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~