防滥用过滤器是一个可以针对所有最近编辑动作进行自动化判断的软件系统。管理员可以针对特定的用户行为设定过滤器,过滤器被触发时可进行特定的操作。
通过编辑条件代码,本扩展可以针对所有的编辑进行自动化判定。例如“禁止非自动确认用户清空页面”。当然,高级代码所编写的过滤器可以更为复杂,例如英文维基百科的过滤器可以成功阻止超过70%的页面移动破坏。
具有巡查豁免权限的用户可以查看所有公开过滤器的详情,管理员和资深用户可以查看隐藏过滤器详情及所有过滤器的详细滥用日志。
说明文档
以下是对于防滥用过滤器部分功能的非正式说明,由于扩展仍然在开发阶段,本说明文档可能会过时并需要更新。
可以针对哪些条件进行过滤
通过相关的代码,过滤器可以针对下列所有项目进行代数运算、逻辑判定、匹配正则表达式等。
用户
- 编辑次数
- 注册时间
- 用户群组
- 电子邮件确认情况
页面
- 命名空间
- 标题
- 全文
- 页面保护情况
操作
- 摘要(包括编辑摘要、移动摘要等)
- 编辑更改的内容
- 操作类型(包括编辑、移动、新建等)
操作频率
- 可以限定某一账号、IP、/16广域IP、或某一日期创建的账号进行某一操作的频率,也可以限定对特定页面进行某一操作的频率。
- 以上的任何条件均可以混合使用。例如,我们可以针对所有在同一天,同一个/16IP范围创建的账号进行操作频率限制。
- 过滤器只有在被触发一定次数后才会进行任何操作。这一功能可以降低错误报告的几率。
过滤器被触发后可以做什么
当过滤器被触发时,管理员可以设定如下操作(大致根据行为的严重程度从轻到重排序):
- 所有触发过滤器的行为均会被记录在特殊页面的日志中。(强制,无法取消)
- 给用户的操作加上标签,以便进一步的核查。
- 用户收到警告讯息。
- 用户的操作被阻止。
- 用户的自动确认状态被随机取消5天。
- 封锁使用者账号或IP地址(可分别指定期限)。
- 用户的所有用户群组被移除(例如机器人、管理员、巡查员等)。(本地未启用)
在安装扩展时,可以有针对性地禁用特定的操作。
监视
每一次过滤器被触发时,均会在过滤器日志进行记录。拥有权限的用户可以查看日志项的摘要;具有更高权限的用户则可以查看日志的细节内容;拥有最高权限的用户则可以查看非公开的数据(例如触发过滤器用户的IP)。右图是一个日志项的细节样例。
权限
以下权限由防滥用过滤器产生,大致按照权限由高到低的顺序排列。
- abusefilter-private-log:允许用户查看过滤器的非公开详细资料存取日志。
- abusefilter-modify-restricted:允许设定过滤器自动封锁或移除用户的自动确认状态。
- abusefilter-modify:允许用户创建、修改过滤器;
- abusefilter-private:允许用户查看非公开的过滤器日志信息;
- abusefilter-view:允许用户查看启用的过滤器;
- abusefilter-log-detail:允许用户查看过滤器日志的细节信息;
- abusefilter-log:允许用户查看过滤器日志。
保护措施
为了防止某些设计有瑕疵的过滤器对正常编辑造成影响甚至破坏有兽档案馆,当某一过滤器被激活的频率达到一定百分比时,过滤器将被自动禁用。
通知讯息
警告
- Abusefilter-warning
- Abusefilter-warning-Interpunct
- Abusefilter-warning-add-expand
- Abusefilter-warning-missing-file
- Abusefilter-warning-missing-template
- Abusefilter-warning-mosiw
- Abusefilter-warning-movefromuserpage
- Abusefilter-warning-movetouserpage
- Abusefilter-warning-no-lead-section
- Abusefilter-warning-ref-group-blanking
- Abusefilter-warning-removal
- Abusefilter-warning-title-is-username
阻止
- Abusefilter-disallowed
- Abusefilter-disallowed-baidu
- Abusefilter-disallowed-blanking
- Abusefilter-disallowed-brokencomments
- Abusefilter-disallowed-copyvio
- Abusefilter-disallowed-deltemplate
- Abusefilter-disallowed-edit-userpage
- Abusefilter-disallowed-interwiki
- Abusefilter-disallowed-linear-gradient
- Abusefilter-disallowed-mosiw
- Abusefilter-disallowed-newusercreate
- Abusefilter-disallowed-noteta
- Abusefilter-disallowed-ownuserpagemove
- Abusefilter-disallowed-rcflood
- Abusefilter-disallowed-removal
- Abusefilter-disallowed-removal-cat
- Abusefilter-disallowed-sign-in-article
- Abusefilter-disallowed-wrong-wikitext-bold
- Abusefilter-disallowed/zh-cn
- Abusefilter-disallowed/zh-hans
- Abusefilter-disallowed/zh-hant
- Abusefilter-disallowed/zh-hk
- Abusefilter-disallowed/zh-mo
- Abusefilter-disallowed/zh-my
- Abusefilter-disallowed/zh-sg
- Abusefilter-disallowed/zh-tw