维基百科:高风险模板
本页简而言之:常用模板及模块应尽量避免修改,并应该考虑永久保护。 |
维基百科指引 |
---|
内容 |
编辑 |
关注度 |
格式 |
态度 |
删除 |
用户 |
另见:方针 |
根据保护方针,页面保护可不限期应用于被社群认定为高风险的模板、模板重定向和模块。对于受到全保护的页面,仅可由管理员编辑;而受到模板保护的页面则可以由管理员和模板编辑员编辑。对于受到上述两种保护类型的页面应谨慎编辑,修改之前需要在模板讨论页得到共识。此外,对于受到半保护或延伸确认保护的页面,任何现有用户(需达到相应的用户级别)均可以编辑模板和模块,但用户应确保对其编辑达成共识并避免编辑战。
根据该指引而被保护的模板列于Category:被半保护的模板与Category:被保护的模板;模块列于Category:被半保护的模块和Category:被保护的模块。
基本理由
模板和模块的嵌入包含(transclusion)会带来一些利害得失。一项代价是每当模板被编辑时,会更新模板本身与每个引用模板的页面。这是由于缓存(squid)与解析器(parser)所暂存(cache)的页面版本会失效,每当页面被阅览时都必须要由解析器重新建构。需要注意的是,这些动作会比从暂存来显示页面需要更多的资源。假设现在有个模板A被500个条目所引用,当改变A的时候事实上也改变了这500个条目(外加模板本身)。常用模板和模块应该只在有明显的需要时才进行编辑。
当模板或模块成为破坏的对象或是遭受恣意编辑时,将显露出一个重大的问题。高风险模板的破坏会造成伺服器的读取频率明显增加,而这些破坏可能会构成分布式拒绝服务攻击。保护这些高风险模板并且使它们只允许由管理员编辑是一项关于改变模板的共识,为的是减缓与排除上述的风险。
保护政策已经保护了一些高可见性的页面(例如Wikipedia:主页)和某些“系统管理”页面。部分模板及模块尽管可能只是暂时性但曾经成为破坏对象的也已经受到保护,另外有一些是依据明显的理由而保护。本指引建议,永久保护应该扩及所有可能引起维基百科产生高度危险的模板和模块,其中包括社群认定的高使用率模板和逻辑模板。
经验
以英文维基百科为例:
- 一些使用范围广泛的模板如{{ref}}和{{note}}等,曾被多次以插入猥亵图像进行破坏,但每次破坏均可在一分钟内撤销。
- 最多条目使用的元模板{{ed}}(2005年11月5日),曾于2005年9月多次被插入猥亵图像,撤销时间通常为一分钟内,最长的一次破坏持续时间为3分钟。
中文维基百科的案例:
- 链接超过500个页面(特别是用户页)的模板{{Userbox}},曾在2007年1月与2007年2月遭到清空页面[1]与参数破坏[2],导致多个用户页无法正常显示用户框的状况,最终于2007年2月27日,进行全保护[3]。(详见:编辑历史、保护请求、第二次破坏的删除投票请求)
哪些是高风险模板?
保护提议不需要主动反映在一份模板列表上,高风险模板的认定程序,可能是依据个别的共识、由管理员所执行的一套标准、或是基于维基媒体开发者的请求。而为了辅助社群决定模板是否为高风险,在英文维基百科提供了一些表格做为参考。
最多使用的模板及模块参见Special:MostLinkedTemplates。
不同条件下的保护方式
使用永久全保护的条件:
基于下列情况可以考虑使用模板保护:
- 被引用的页面达到5,000+,但保存转换组语法的模板及模块[1]除外
基于下列情况可以考虑使用延伸确认保护:
- 被引用的页面达到5,000+的转换组语法模板及模块[1]
基于下列情况可以考虑使用半保护:
- 被引用的页面达到500+
- 维基百科工具模板
- 使用率较低的管理或站务模板
参见
- Wikipedia:模板文档页模式 – 安全地将模板帮助文档从原始码中切割至一个分离页面的方法。能够达到完整保护模板原始码并让帮助文档保持未保护,如此所有人仍然可以编辑帮助文档。
注解
- ^ 1.0 1.1 大致上为Special:前缀索引/Template:CGroup/及Special:前缀索引/Module:CGroup/,但不包含Template:CGroup/list、Module:CGroup/core等非转换组语法页面。