mediawiki - 进行媒体Wiki的注册需要管理员批准吗?

标签 mediawiki registration spam-prevention

我维护的Wiki受垃圾邮件机器人的打击很大……我们的用户不多,我宁愿不给合法用户提供验证码。有没有简单的方法可以让管理员确认注册?我已经仔细阅读了手册,却无法弄清楚该如何做。

最佳答案

您可以创建新的用户权限,例如“已批准”,允许管理员分配该权限,并将诸如编辑之类的内容限制为仅允许已批准的用户使用,例如:

// Disallow editing and uploading from anons and registered users
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = false;

// New user group: approved users
$wgGroupPermissions['approved']['edit'] = true;

// Allow admins to approve (and unapprove) users via Special:UserRights
$wgAddGroups['sysop']['approved'] = true;
$wgRemoveGroups['sysop']['approved'] = true;

请注意,删除edit权限还可以阻止未经批准的用户执行大多数直接或间接涉及以任何方式更改页面的操作,因此您无需明确撤销这些权限。

另外,除了完全撤消未批准用户的编辑权限外,您还可以使用$wgNamespaceProtection将他们的编辑限制在某些 namespace 中(或者使用常规的每页保护将其编辑限制在这些 namespace 中的某些页面上),如下所示:

// Limit editing of the main namespace to approved users
$wgNamespaceProtection[NS_MAIN] = array( 'edit-main' );
$wgGroupPermissions['approved']['edit-main'] = true;

这样,您可以设置一个页面,新用户可以在该页面上请求其可以编辑的 namespace 之一的批准。

有关更多信息,请参见mediawiki.org上的Manual:User rightsHelp:Assigning permissions

关于mediawiki - 进行媒体Wiki的注册需要管理员批准吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815321/

相关文章:

php - 如何禁用目录中的任意 PHP 7 代码?

PHP注册表未将数据发送到MySQL数据库

android - SMS 的垃圾邮件防护算法

php - 共享主机上的 GeoIP

asp.net-mvc-3 - MVC3 应用程序并跟踪用户最初进入的页面

PHP 检测类似机器人的行为

wiki - 使用 MediaWiki 软件的 Wiki 在哪里存储他们的文章?

apache - 如何为 MediaWiki 设置短 URL?

php - 在负载均衡环境中在 AWS/EC2 上托管 MediaWiki 的 session 问题

jquery - Django - 有某种方法可以避免在我的所有 View 中重复代码吗?