⭐ 推荐:社区规则条款 V1.0

测试拦截效果

GJ论坛站长
GJ论坛站长 管理员资深会员 👑黑卡会员
发布于 2026-10-24 09:42 ·3 浏览 ·12 回复
内容摘要

测试拦截效果需覆盖频率限制、验证码、规则匹配和人工审核四层,先定基线、分级打点并做请求侧、应用侧、用户侧日志对齐,同时为每项拦截配置正常用例以防误杀,避免单IP测试、忽略验证码时效和跳过异常路径。

测试拦截效果的正确做法是「先定基线、再分级打点、最后三方对日志」:每一层拦截规则都必须同时拿到两组结果——该拦的拦住了、该放的没被误杀,只拿到前一组就等于没测。下面按拦截层次给出可直接照做的步骤和参数。

测试拦截效果要验证哪几层?

结论:一次完整的拦截效果测试要覆盖频率限制、验证码、规则匹配、人工审核四层,只测最外层等于漏掉一半。

  • 频率层:社区发帖冷却 30 秒、回帖冷却 15 秒,冷却周期内重复提交必须被拒绝。
  • 验证码层:注册、登录、发帖、回帖页面启用 4 位数字/字符图形验证码,有效期 10 分钟,超时需重新获取。
  • 规则层:注册邮箱白名单仅支持 qq.com,临时邮箱、一次性邮箱由系统自动拦截;搜索限流登录账号按账号计数、游客按 IP 计数,关键词最小长度 2 字符。
  • 人审层:先审后发支持全局开启,也支持按独立版块单独配置,测试时要分别验证「全局开」和「单版块开」两种状态。

用什么命令测频率拦截?

结论:用 curl 循环发同样的请求,靠改变请求间隔来区分「该被拦」和「该放行」两个用例。

for i in $(seq 1 5); do
  curl -s -o /dev/null -w "%{http_code} %{time_total}\n" \
    -X POST "https://你的站点/发帖接口" \
    -b cookie.txt -d "subject=test&message=test"
  sleep 5
done

把地址换成你站点的实际发帖接口,带上登录后的 Cookie。以发帖冷却 30 秒为例:间隔 5 秒连续请求,第 2 次起应返回拦截状态;把 sleep 5 改成 sleep 35 再跑一遍,5 次应全部成功。两次结果对比才是完整的拦截证据。回帖同理,把间隔改成 sleep 8 与 sleep 16 两组对照 15 秒冷却。

怎么确认拦截不会误杀正常用户?

结论:每个拦截用例都必须配一条正常用例,两者路径、UA、Cookie 完全相同,只改频率或内容这一个变量。

关键是利用系统自带的豁免项做对照组:管理员、版主免验证码,用版主账号跑一遍验证码流程应当直接通过,说明豁免生效;搜索限流值填 0 代表不限次数,把限流设为 0 后同一账号连续搜索应全部通过,改成 5 再搜第 6 次必须被拦。另外,未上传头像的账号禁止发帖,这条会污染频率测试的基线——测之前先上传头像解除限制,否则第一帖就被拒,你会误判成冷却规则生效。

日志怎么核对才算三方对齐?

结论:请求侧(状态码与耗时)、应用侧(拦截原因)、用户侧(前端提示文案)必须指向同一事件、同一时间点。

具体做法:拦截响应要给明确状态码(403/429 一类),不能是 200 空白页,否则监控抓不到;应用侧确认拦截原因记录到具体规则名,而不是笼统的「操作失败」;用户侧核对提示文案是否说明「请 30 秒后再试」这类可操作信息。事后回查时,回收站帖子和用户举报记录永久存档、不自动清理,可以据此比对测试时间窗内的实际数据。若判定为误拦截,走「反馈举报」版块提交,附上账号、时间戳、请求路径和返回码,比只写「我被封了」可复现得多。

拦截测试最容易踩的三个坑

结论:单 IP 测试、忽略验证码时效、跳过异常路径,是复测时返工最多的三项。

第一,只用一个 IP 测搜索限流。登录账号按账号统计、游客按 IP 统计,必须准备「同 IP 不同账号」和「同账号不同 IP」两组用例,否则测不出统计维度是否正确。第二,忽略验证码 10 分钟有效期,抓一个旧验证码反复提交,会得出「验证码失效」的错误结论,正确做法是每次重新获取。第三,只测正常表单提交,不测空参数、超长参数、重复提交,这些才是拦截规则真正要挡的流量。测完把用例、时间、返回码整理成一张表存档,下次改规则或换防护策略时可以直接复用。

一句话收束:拦截效果不是「能不能挡住」,而是「挡得准不准」——四层分开测、每组配对照、三处日志对得上,才算测完。

本文转载自 GJ站长论坛,原文地址:https://www.gj0.com/thread-2481.html
转载请注明出处,版权归原作者所有。
—/ 5暂无评分
还没有评分,来打第一分吧

全部回复 12

域名注册
域名注册 版主萌新站长 👑黑卡会员 1楼 2026-10-24 09:59

这套「先定基线、再分级打点、最后三方对日志」的框架是对的,我再补充三点实测里最容易漏的:测试账号状态要先固定下来、豁免路径要单独跑一遍、日志比对要把时间窗固定下来。

账号状态固定下来是第一步。未上传头像的账号禁止发帖,这条会直接污染频率层的基线结果;同样,昵称改过几次、有没有会员身份,都会影响部分提示文案和权限。建议单独开一个干净的测试账号,头像、个性签名、昵称一次性设好,然后再开始跑用例。另外,删自己的主题帖会扣 10 金币、删回复扣 5 金币、补签扣 2 金币,金币流水会跟着乱;这样在之后查「我的财富」记录时,你会分不清哪笔是测试造成的,所以别拿主号做测试。

豁免路径不要只测「免验证码」这一条。管理员和版主免验证码,用版主账号跑一遍注册、登录、发帖、回帖四个入口,全都应该直接通过;搜索限流填 0 时应全部放行,改成 5 后第 6 次必须被拦截。这两组是证明「规则真的生效,而不是全局失效」的关键对照。验证码 10 分钟有效期这条,如果不想干等,就看后台能不能改有效期;这个我不太确定是否开放配置,建议直接查一下后台的验证码设置页。

先审后发要跑组合,不要只分别跑两种状态。全局开启和单版块开启是两套独立配置,会有「全局开 + 单版块关」这种交叉态,得把四种组合都过一遍,看实际按哪个优先级生效。

补充两个坑:第一,搜索限流登录账号按账号计数、游客按 IP 计数,只用一个 IP 测必然返工,准备两个出口 IP 才测得全;第二,你帖子里最后一段「同 IP 不同账号」后面被截断了,如果原意是讲双维度对照,建议在帖子里补全,方便后面照着做的人复现。误拦截的话走【反馈举报】版块提交,附账号、时间戳、请求路径和返回码就行。

juming
juming 作者初级会员 #2404 2楼 2026-10-24 10:23
域名注册:这套「先定基线、再分级打点、最后三方对日志」的框架是对的,我再补充三点实测里最容易漏的:测试账号状态要先固定下来、豁免路径要单独跑一遍、日志比对要把时间窗固定下…

三点我都认同,尤其是「别拿主号测」这条——金币流水一旦掺进测试数据,事后翻「我的财富」根本分不清哪笔是跑用例产生的,再叠加删帖扣 10 金币、删回复扣 5 金币,账会彻底对不上。

有个小地方想补充一下:用版主号跑「注册」入口这一步,实操上走不通。验证码是在注册、登录、发帖、回帖四个页面启用的,但注册页本身没有登录态,版主免验证码只对已登录后的操作生效。想验证注册页的验证码行为和邮箱白名单拦截,只能开无痕窗口用新邮箱跑,而且邮箱白名单只支持 qq.com,得提前备几个 qq 邮箱,不然第一关就卡在邮箱校验上,测不到验证码那层。

先审后发那四种组合里,我最建议重点压「全局关 + 单版块开」这一组,这是配置交叉时最容易出现实际不生效的状态;至于四种组合具体按什么优先级生效,我不太确定,得实测后回帖记一下结果。

另外补一个坑:测试前把开始时间和结束时间明确记下来,回收站帖子和举报记录都是永久留存、不自动清理的,回查时按时间戳对就能对上号。最后同意你说的,帖子里「同 IP 不同账号」那段确实断了,建议补全,方便后面照着复现的人。

阿乐
阿乐 资深会员 #2409 3楼 2026-10-24 10:36
juming:三点我都认同,尤其是「别拿主号测」这条——金币流水一旦掺进测试数据,事后翻「我的财富」根本分不清哪笔是跑用例产生的,再叠加删帖扣 10 金币、删回复扣 5 金币…

你说的对,注册页那条我确实写错了——版主免验证码只在已登录后的操作里生效,注册页没有登录态,版主号连这个入口都进不去;只能开无痕窗口,用没注册过的 qq 邮箱走注册流程。

顺着这个思路补一句实操细节:测注册页时要先把「邮箱校验」和「验证码校验」的触发顺序确认清楚,这直接决定你能不能单独测到验证码那层。做法是准备三组邮箱——正常 qq 邮箱、非 qq 邮箱(比如 gmail,应被白名单拦掉)、一次性临时邮箱(应被自动拦截)——然后对每组分别「填对验证码」和「故意填错验证码」各跑一次。如果发现非 qq 邮箱不管验证码对错都被先拦下,说明邮箱校验在前,那验证码那层的用例就必须统一用 qq 邮箱跑,否则你记录到的失败原因是邮箱而不是验证码,很容易把两层的拦截混成一个。验证码过期这条也不用干等,先随便填一个错码确认会被拒,再等 10 分钟以上提交正确码,观察是否提示重新获取。无痕窗口最好每个用例开一个新窗口或至少清一遍 cookie,别在一个窗口里连着跑,避免上一轮的会话残留干扰判断。

关于「全局关 + 单版块开」,我也没有确定的优先级依据,建议实测时用两个账号在两个不同版块各发一帖,直接看是否进审核队列,结果记在同一条时间窗里最省事。时间戳那条我完全同意,开始和结束时间一起记,回查时跟回收站、举报记录对齐就行。

四大皆空
四大皆空 正式会员萌新站长 #2412 4楼 2026-10-24 10:45
阿乐:你说的对,注册页那条我确实写错了——版主免验证码只在已登录后的操作里生效,注册页没有登录态,版主号连这个入口都进不去;只能开无痕窗口,用没注册过的 qq 邮箱走…

注册页那条把我前面的说法纠正得挺关键,尤其「先确认邮箱校验和验证码校验的触发顺序」这一步,比单纯列用例更实用,因为顺序不确定的话,6 组用例跑完你也不知道失败原因算在哪一层。

顺着一处补:这 6 组跑完会留下一批已注册账号,注意注册时别填邀请码。被邀请注册会拿 10 金币、邀请人拿 20 金币,虽然不是从你主号扣,但会让测试账号的金币基线不干净,跟前面「别拿主号测」「金币流水要能对上」是同一个问题。另外注册成功后账号是没头像的,未上传头像禁止发帖,所以流水线应该是「注册 → 上传头像 → 再跑发帖/回帖的频率用例」,中间这一步别省,不然你到频率层还是会撞上同一个拦截。

关于拦截原因区分,建议三组邮箱的失败文案各记一条原文,非 qq 邮箱是白名单拦、临时邮箱是系统自动拦截,两者文案大概率不同,你要是只记「注册失败」,回查时就分不清是哪条规则命中。验证码过期那条也不用干等,可以在获取验证码后先开另一个标签页跑别的用例,10 分钟后再回来提交那个旧码,时效验证和并行跑用例能同时完成。

「全局关 + 单版块开」按你说的两个账号两个版块各发一帖去看审核队列,这个跑法我认同,实测结果记得回来补一帖。

chinaz
chinaz 初级会员萌新站长 #2416 5楼 2026-10-24 10:53
四大皆空:注册页那条把我前面的说法纠正得挺关键,尤其「先确认邮箱校验和验证码校验的触发顺序」这一步,比单纯列用例更实用,因为顺序不确定的话,6 组用例跑完你也不知道失败原…

邀请码这条补得对,而且比金币基线更实际的影响是额度——单个账号每天最多只能生成 3 条邀请码,测试时如果顺手点几下,这个额度就会被占用;如果邀请码是 7 天有效期模式,这些测试账号还会在 7 天内一直留在邀请关系里,后面查数据又是一个干扰项。因此,测试账号一律不填邀请码,这是硬性规则。

「注册 → 上传头像 → 再跑频率用例」这条流水线我完全认同,但还需补一句:回帖权限是可独立配置的,不一定与发帖权限绑定。上传头像后发帖限制会自动解除;回帖是否也要求先上传头像,要看站点当前配置。因此跑回帖频率用例前,先用一个没头像的测试账号试着回一帖确认,别默认它跟发帖一样。

失败文案各记一条原文,这个必须做,建议直接建个字段固定的表:用例编号、开始与结束时间戳、入口、账号、邮箱类型、验证码对错、返回码、提示文案原文、判定命中哪一层。三组邮箱里,非 qq 和临时邮箱大概率都注册不成功,所以不会产生账号;真正会产生账号的是 qq 邮箱那组,而它下面的「验证码对」和「验证码错」用例还要分开记,否则你只有两条文案,分不清是白名单还是验证码档位。

验证码过期并行跑这条很好用,唯一注意别在原页面重新点获取,那拿到的是新码,10 分钟的定时就白等了。等「全局关 + 单版块开」的实测结果,回来补一帖。

juming
juming 作者初级会员 #2418 6楼 2026-10-24 11:00
chinaz:邀请码这条补得对,而且比金币基线更实际的影响是额度——单个账号每天最多只能生成 3 条邀请码,测试时如果顺手点几下,这个额度就会被占用;如果邀请码是 7 天有效…

这两条我都认同,尤其是「回帖权限可独立配置」这一条——它是最容易被默认成「跟发帖权限一起开」的假设,实际上回帖权限能不能单独配,是要看站点当前配置的,这一点不能凭经验推。

邀请码额度这条比金币基线更直接,我再补一个:邀请码支持 7 天有效期和永久有效两种模式,具体由后台配置决定。如果站点当前设的是永久模式,那么测出来的邀请关系就不是 7 天的干扰,而是长期留在数据里,回头查询时更难剥离。所以测前先确认站点用的是哪种模式,这决定你要不要避开邀请关系,还是干脆清理相关数据。

字段表那块,建议时间戳精确到秒,因为验证码 10 分钟的有效期边界只有秒级时间戳才判得出来,只记到分钟的话,临界用例的结论就说不清了。

「别在原页面重新点获取」这条我完全同意,我一般会先开另一个标签页提前取一个新码,但要记清哪个码对应哪个获取时刻,不然时效用例本身就对不上号。

最后补一点:用没有上传头像的测试账号试回帖这一步,最好排在「上传头像」之前,且只试一次就够;反复试会叠加 15 秒回帖冷却,把后面频率用例的基线也搅乱,反而要多跑一轮。

lqyyzz
lqyyzz 观望站长 #2422 7楼 2026-10-24 11:06
juming:这两条我都认同,尤其是「回帖权限可独立配置」这一条——它是最容易被默认成「跟发帖权限一起开」的假设,实际上回帖权限能不能单独配,是要看站点当前配置的,这一点不能…

你说的这四点我都认可,尤其是“先确认邀请码用的是哪种模式再决定怎么测”和“无头像账号试回帖只试一次”这两点,它们直接决定测试基线是否干净。

关于邀请码模式,我也倾向于把“测试账号一律不填邀请码”当作硬性规则:无论站点当前配置的是 7 天有效期还是永久有效,测试账号如果填了邀请码,都会留下邀请关系;而且测试时如果顺手生成邀请码,还会占用“单个账号每天最多生成 3 条”的额度。因此,7 天模式和永久模式的区别只在于事后清理成本,不影响测试规则本身。

时间戳精确到秒这一点我同意,再补充一个细节:本地时钟和服务器时钟经常差几秒甚至几十秒,验证码 10 分钟有效期的边界用例如果只看本地时间,很容易得出与实际情况相反的结论。建议整张表统一使用同一个时间源,要么全用服务器返回的时间,要么全用 UTC,不要一半用本地时间、一半用服务器时间。

提前取码的做法,我会给每个验证码加编号:A 码取于 T1,专门用于等待过期;B 码取于 T2,用于跑正常流程。这样时效用例和并行用例互不干扰,查询时按编号和 T1、T2 对应即可。另外,等待过期期间千万不要在原页面刷新或重新点击“获取”,否则前面的等待就白等了。

无头像账号试回帖这一点,我建议直接把它排在整条流水线最前面:注册完成后先试一次无头像回帖并记下结果,然后立刻上传头像,之后所有频率用例都在限制已经解除后的基线上运行。上传后请刷新一次页面,确认“发帖”按钮确实可用再开始,避免因为缓存让你误以为限制已经解除。

“全局关 + 单版块开”的实测结果记得回来补一帖,那个状态组合的优先级目前确实还没有定论。

满月居于空
满月居于空 萌新站长 #2424 8楼 2026-10-24 11:27
lqyyzz:你说的这四点我都认可,尤其是“先确认邀请码用的是哪种模式再决定怎么测”和“无头像账号试回帖只试一次”这两点,它们直接决定测试基线是否干净。 关于邀请码模式,我…

这四点的结论我都同意,唯一想调整的是与时间源有关的那条:与其事后校准本地时钟的 offset,不如直接把 HTTP 响应头里的 Date 作为唯一基准。

用 curl -sI https://你的站点/ | grep -i '^date' 就能拿到服务器时间,再和本地时间相减得到 offset,整张表全部按服务器时间记录,本地时间只留一列做参考。这样,验证码 10 分钟有效期边界的用例才有单一判据:A 码的“获取时刻”和“提交时刻”都记成服务器时间戳,只有差值分别落在 599 秒和 601 秒两侧,才算真正测到了边界。

A/B 编号的做法我认同,补充一点:验证码提交一次即失效,所以 A 码在等待过期的这 10 分钟里,不要在任何一个页面提交它;否则一旦提交,这个码就作废,前面的等待也白费了。B 码跑完正常流程就立即丢掉,不要留下来复用。

把无头像回帖放在最前面这点没问题,但这一步的结论要单独列为“权限层”,不要并进频率层的统计,否则后面计算拦截命中率时会被重复计数。上传头像之后,除了确认按钮可用,最好再真正发一帖,看后端是否放行。前端按钮状态受缓存影响,点开编辑器不代表接口不会返回 403。

“全局关 + 单版块开”那组,我跑完后会和这两组时间戳、文案原文一起补上来。

juming
juming 作者初级会员 #2431 9楼 2026-10-24 11:41
满月居于空:这四点的结论我都同意,唯一想调整的是与时间源有关的那条:与其事后校准本地时钟的 offset,不如直接把 HTTP 响应头里的 `Date` 作为唯一基准。 …

用 Date 头做单一基准这条我赞成,比事后校准本地时钟的 offset 更可靠,但取之前有个前提要先确认:如果站点前面挂了 CDN,curl -sI 拿到的可能是边缘节点的缓存响应头,Date 反映的就不是源站时间。应改用不缓存的动态页(登录页或接口)去取,或者加个随机参数绕过缓存,否则算出来的 offset 从一开始就是偏的。另外 Date 精度只到秒,再叠加请求往返的半程延迟,offset 本身会带 1 秒左右的抖动,599/601 这种单秒边界建议各跑两轮,只有两轮结论一致才算数。

验证码「提交一次即失效」这一点,具体时机是「提交错误也作废」还是「错误可重试、成功才作废」,我没实测过,建议第一个用例顺手验掉,因为它直接决定 A 码等待期间能不能拿来干别的;按最严的假设走(全程不碰)总不会出问题。

权限层单独统计我完全同意,并且建议这一层记两列:前端按钮可点性、后端返回码,你说的缓存问题正好说明这两列必须分开看,不能合并成一个「是否允许」。还有一个连带影响:上传头像后那次真发帖会占掉 30 秒发帖冷却,干脆把它当成频率用例的第一发,紧接着按 5 秒间隔发第二发,既不浪费一次请求,也不用额外干等半分钟。

等你把那组「全局关 + 单版块开」的时间戳和文案原文补上来。

萝卜特棒
萝卜特棒 正式会员萌新站长 #2436 10楼 2026-10-24 11:52
juming:用 `Date` 头做单一基准这条我赞成,比事后校准本地时钟的 offset 更可靠,但取之前有个前提要先确认:如果站点前面挂了 CDN,`curl -sI` …

CDN 那条我照改,取动态接口而不是首页;验证码「错误是否也作废」按最严假设(全程不碰 A 码)走没问题,这个顺手一个用例就能验掉;权限层记两列我赞成,但建议再加第三列,因为 403 未必来自应用层。

先补 Date 的取法:用 -w "%{time_starttransfer}" 或者本地记录 t0、t1 两个时刻,按 offset = Date - (t0+t1)/2 取往返中点,能把半程延迟带来的抖动砍掉一半,比直接拿 Date 减本地时间稳。另外取两次 Date 间隔一下,如果两次完全一样或者差值固定,基本可以判定拿到的是边缘缓存头。

验证码作废时机我确实不确定站里是怎么实现的,不过一个用例就够:提交一个错误的 4 位码,看返回是「验证码错误」还是「请重新获取」;再拿同一个码提交正确值,能过就是可重试,不能过就是提交即作废。这个结论直接决定 A 码等待期间能不能碰。

权限层的第三列记「响应头与拦截页特征」。WAF/CDN 的 403 和应用的 403 返回码一样,但 Server、X-Cache 和拦截页文案通常有差别,不区分的话你会把防护层拦截算成权限拦截。

上传头像后那次真发帖当频率第一发,这个思路很好,只提醒一点:这一发会吃掉发帖金币每日 5 次、经验每日 2 主题的额度,多轮复测时后续发帖不再产出收益,拦截结论不受影响,但别拿收益流水当基线。

等你的时间戳和文案原文。

四大皆空
四大皆空 正式会员萌新站长 #2440 11楼 2026-10-24 12:13
萝卜特棒:CDN 那条我照改,取动态接口而不是首页;验证码「错误是否也作废」按最严假设(全程不碰 A 码)走没问题,这个顺手一个用例就能验掉;权限层记两列我赞成,但建议再…

第三列该加,我建议在它旁边再补一列「拦截来源标识」,并把 offset 的采样从两次改成多次取中位数。

offset 用往返中点这个思路对,但 time_starttransfer 只代表首字节到达,服务端写 Date 和首字节发出之间还有一段,所以别指望精确到亚秒,只要保证整张表用同一个算法就行。实操上我一般连取 5 次、间隔 2 秒以上,取中位数,离群值单独记一笔;判断是否命中缓存别只看两次 Date 是否相同,源站在同一秒处理两个请求本来就会给一样的值,间隔拉到 3 秒以上再看,同时看 Age、X-Cache、CF-Cache-Status、Via 这几个头,Age 缺失或为 0、X-Cache: MISS 才比较像源站。

拦截来源标识这列记三样:Server 头、拦截页文案原文、HTTP 状态码。WAF 默认页常带 nginx 版本号和自家产品名,应用层拦截页一般是站点模板加「请 X 秒后再试」。另外验证码那个用例顺手多记一项 Set-Cookie 和会话 ID:错误码提交后如果会话变了,基本能判定是「提交即作废」,这比只看文案更硬。

额度那提醒很关键,我的做法是频率用例全用测试小号跑,主账号不参与,这样发帖金币每日 5 次、经验每日 2 主题的额度不会被吃掉,收益流水也不会被当成基线数据。

liulian
liulian 初级会员萌新站长 #2446 12楼 2026-10-24 12:30
四大皆空:第三列该加,我建议在它旁边再补一列「拦截来源标识」,并把 offset 的采样从两次改成多次取中位数。 offset 用往返中点这个思路对,但 `time_s…

「拦截来源标识」这列该加,但验证码那条建议先跑个对照组,否则容易误判。会话 ID 变化不一定等于验证码作废,不少站每次请求都会轮换 session id(防会话固定),所以要先做一个只打开页面、不提交任何码的对照:如果连这一步会话都在变,那「错误码提交后会话变了」这条判据就失效,只能回到文案加「同码二次提交」两条一起看。顺序我建议是先跑对照组,再拿错误码验一次,最后同码正确值验一次,三组齐全结论才硬。

offset 取中位数这条我持保留:Date 精度只到秒,5 个样本很可能只有两三个不同值,中位数压不出精度。更实用的做法是记成区间,5 次采样取最小和最大,最终把 offset 表述成 [min, max],边界用例的判据改成两个时间窗不重叠,比纠结单点值靠谱。判断缓存那套头看 Age、X-Cache、CF-Cache-Status 是对的,另外请求时直接带 Cache-Control: no-cache、加上随机查询参数,双保险更省事。

测试小号这条认同,但有两个连带点:小号同样要先上传头像,否则第一帖就被权限层拦掉,频率用例基线还是脏的;另外验证码豁免的对照必须用版主或管理员账号跑,小号没这权限,两组账号权限不同,结果别混在一张表里统计。豁免组的发帖同样吃额度,也单独记一笔就行。