代码之家  ›  专栏  ›  技术社区  ›  Wolf

一键关闭回滚功能

  •  0
  • Wolf  · 技术社区  · 4 年前

    为了维护一个拥有庞大用户群的充满活力的维基,允许匿名编辑,拥有一个功能来轻松还原恶意的大规模编辑(即故意破坏和垃圾邮件)具有很大的价值。


    *"Rollback" reverts the last contributor's edit(s) to this page in one click*
    “回滚”可一键将上一个贡献者的编辑还原到此页面


    另一方面,如果你的wiki处于登录编辑模式,并且只有少数成员以非常协作的方式收集他们的社区知识(例如公司wiki),你可能会决定通过授予管理员权限来平衡工作和权限/限制,甚至授予非MediaWiki“母语人士”的成员。在这种情况下,回滚功能可能很危险:意外按下错误的按钮很容易造成混淆。

    如何禁用回滚功能?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Wolf    4 年前

    一种可能的方法是通过CSS抑制危险元素的视觉表示,使其不可见。

    span.mw-rollback-link {
       display: none;
    }
    

    此添加可用于 MediaWiki:Group-sysop.css 影响(独立皮肤)sysop组的所有成员(因为,如您所知,只有该组中的用户具有此功能)。

    更稳健的解决方案

    如果您的wiki有其他组,如果其中一个组包含回滚权限,则对sysop组的限制可能是危险的。因此,从接口中删除回滚功能的最稳健的方法是将上述添加应用于 MediaWiki:Common.css .

    紧急开关

    至于临时重新激活回滚功能,比如在垃圾邮件或故意破坏攻击期间,故意引入一个明显的语法CSS错误就足够了

    x-span.mw-rollback-link {
       display: none;
    }
    

    并在之后进行修复。

    结论

    当然,可以通过服务器端配置从整个wiki中删除该权限,即修改 LocalSettings.php 如图所示 Tgr's answer 。但如果维基是公开访问的,可能很难对实际需求做出足够快的反应,所以我觉得使用CSS方法会更好。

        2
  •  0
  •   Wolf    4 年前

    最可靠的方法是删除所有人使用回滚的权限:

     $wgRevokePermissions['*']['rollback'] = true;