找回密码
 欢迎注册
楼主: wayne

[公告] 新注册用户改成了人工审核了

[复制链接]
发表于 2025-4-22 10:43:35 | 显示全部楼层
豆瓣电影网站,这几年我对它多次采集,每隔几个月它的规则都在变化.最初我用八爪鱼采集,一次可以采集一万个网页,后面的每分钟不能达到15个网页,达到就被封网24小时,人工也打不开.现在一个小时采集达到500个网页就封网了.

下面的,ai说的话,仅供参考.
针对Discuz论坛遭受的大规模广告攻击问题,以下是系统性解决方案,分为紧急处置、中期防护和长期迁移三个层面:

一、紧急处置措施(立即执行)

注册环节强化

启用邮箱+手机双验证注册(需人工审核)

添加解方程验证码,因子分解验证码等难度属于初中以上的内容

设置注册时间冷却(如30分钟内仅允许1次注册)

发帖限制策略

  1. sql
  2. -- 数据库直接执行以下限制(示例)
  3. UPDATE pre_common_usergroup SET
  4.     maxspm = 5,  -- 每分钟发帖数
  5.     maxposts = 20, -- 每日发帖上限
  6.     allowpost = 0 WHERE groupid = 4; -- 禁止新用户组发帖
复制代码

实时内容过滤

安装第三方关键词过滤插件(如「防水墙」)

设置敏感词自动屏蔽(包含联系方式、特殊符号等)

二、技术防护升级(24小时内可实施)

行为分析防御

  1. php
  2. // 在source/class/class_member.php中添加注册行为检测
  3. if($this->membercount > 50 && time() - $firstreg < 3600) {
  4.     $this->denyRegister('疑似批量注册');
  5. }
复制代码

动态验证机制

对高频操作启用滑动验证(如geetest)

关键操作添加TOTP动态口令(如每60秒变化)

日志监控体系

  1. bash
  2. # 定时清理脚本(crontab每小时执行)
  3. grep 'register' ./data/log/* | awk -F'|' '{print $2}' | sort | uniq -c | sort -nr | head -50
复制代码

三、数据迁移方案(中长期)

框架选型建议

现代化论坛:Flarum(PHP)/ Discourse(Ruby)

高性能方案:NodeBB(Node.js)

国内替代:StartBBS(PHP)

数据迁移脚本示例(Python)

  1. python
  2. import pymysql
  3. from xml.etree import ElementTree as ET

  4. # Discuz数据导出
  5. dz_conn = pymysql.connect(host='localhost', user='dz_user', password='dz_pass', db='discuz_db')
  6. dz_cur = dz_conn.cursor(pymysql.cursors.DictCursor)
  7. dz_cur.execute("SELECT * FROM pre_forum_post WHERE dateline > UNIX_TIMESTAMP()-86400")

  8. # 转换为新论坛格式
  9. new_posts = []
  10. for post in dz_cur:
  11.     new_post = ET.Element('post')
  12.     ET.SubElement(new_post, 'title').text = post['subject']
  13.     ET.SubElement(new_post, 'content').text = post['message']
  14.     new_posts.append(new_post)

  15. # 保存为迁移文件
  16. with open('migrate.xml', 'wb') as f:
  17.     f.write(ET.tostring(new_posts))
复制代码

四、高级防御建议

网络层防护

启用Cloudflare的Bot Management服务

设置ASN过滤(屏蔽IDC机房IP段)

机器学习方案

  1. python
  2. # 使用简单贝叶斯分类器示例
  3. from sklearn.naive_bayes import MultinomialNB
  4. clf = MultinomialNB()
  5. clf.fit(train_data, train_labels)  # 训练历史数据
  6. predictions = clf.predict(new_posts)  # 实时预测
复制代码

法律手段

对广告主域名进行whois查询

向主机商提交滥用投诉(需保存完整日志)

建议立即执行第一阶段的紧急措施,这些修改可以在不升级Discuz的情况下通过数据库直接操作和简单代码调整实现。同时推荐安装「防灌水」插件(如https://addon.dismall.com/plugins/tshuz_protect.html),这类插件通常包含成熟的规则引擎可以拦截90%以上的自动化攻击。

对于持续攻击的情况,应当考虑在Nginx层面添加速率限制:

  1. nginx
  2. http {
  3.     limit_req_zone $binary_remote_addr zone=postlimit:10m rate=1r/s;
  4.     server {
  5.         location ~* /forum.php {
  6.             limit_req zone=postlimit burst=5;
  7.         }
  8.     }
  9. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2025-4-22 17:03:19 | 显示全部楼层

启用Discuz内置防御机制

修改 config_global.php 文件中的 attackevasive 参数,通过组合数值限制异常请求:
  • 1(Cookie刷新限制):同一Cookie每秒刷新超过1次则限制访问,防止高频请求。
  • 2(限制代理访问):阻止通过代理IP发起的攻击,降低代理池对服务器的压力。
  • 4(二次请求验证):用户需等待2秒后重新加载页面,过滤自动化脚本。
  • 8(回答问题):当第一次访问时需要回答问题,答案正确后才可以看到页面的具体内容。

已设置为1|2|4,兼顾安全性与用户体验

点评

全部取消,观察观察  发表于 7 天前
再恢复成2,因为4对搜索引擎不友好;Discuz! 程序版本升级到最新:Discuz! X3.5 Release 20250205 UTF-8  发表于 2025-5-25 18:02
因有被人瞬间发10096帖,所以再加强为 2|4  发表于 2025-5-22 08:16
再放宽为2  发表于 2025-5-12 10:33
改设置为2|4,取消高频访问限制了  发表于 2025-4-23 09:53
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2025-4-22 19:17:18 | 显示全部楼层
gxqcn 发表于 2025-4-22 17:03
修改 config_global.php 文件中的 attackevasive 参数,通过组合数值限制异常请求:
  • 1(Cookie刷新限制 ...

  • 我点评你的帖子。
    出现
    频繁刷新限制

    您访问本站速度过快或者刷新间隔时间小于两秒!请等待页面自动跳转 ...
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    发表于 2025-4-29 12:32:28 | 显示全部楼层
    gxqcn 发表于 2025-4-22 17:03
    修改 config_global.php 文件中的 attackevasive 参数,通过组合数值限制异常请求:
  • 1(Cookie刷新限制 ...

  • 不仅要测试。而且要全面的测试
    在电脑上测试过后,再用手机测试
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    发表于 2025-4-29 12:33:18 | 显示全部楼层
    现在可以考虑取消人工审核。
    因为人工审核肯定慢,
    比不上自动审核。

    点评

    早就取消了人工审核,见 24#  发表于 2025-4-29 13:45
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    发表于 2025-4-29 12:34:51 | 显示全部楼层
    可以考虑改成付费注册,
    比如5毛钱的注册费用,
    收点钱还能给论坛当维护费用。
    或者单独开一个付费注册。
    人工审核与付费注册并行

    点评

    坚持不收费  发表于 2025-4-29 13:47
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    发表于 2025-5-3 10:49:34 | 显示全部楼层
    能不能不要每次登入的時候都提示我要修改密碼?

    点评

    是不是密码太简单了?容易被盗号,最好修改一下  发表于 2025-5-22 08:16
    毋因群疑而阻独见  毋任己意而废人言
    毋私小惠而伤大体  毋借公论以快私情
    回复 支持 1 反对 0

    使用道具 举报

    您需要登录后才可以回帖 登录 | 欢迎注册

    本版积分规则

    小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

    GMT+8, 2025-6-20 15:12 , Processed in 0.040305 second(s), 17 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表