asl*_*lum 5 mediawiki registration spam-prevention
我维护的维基被垃圾邮件机器人击中了很多...我们没有很多用户,而且我宁愿不用带验证码的合法用户.是否有一种简单的方法可以将注册确认发送给管理员?我查看了手册,但未能弄明白该怎么做.
您可以创建一个新的用户权限,例如"已批准",允许管理员分配该权限,并将编辑等内容限制为仅限批准的用户,如下所示:
// 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;
Run Code Online (Sandbox Code Playgroud)
请注意,删除edit权限还会阻止未经批准的用户执行直接或间接涉及以任何方式更改页面的大多数内容,因此您不需要明确撤消这些权限.
此外,您可以使用$ wgNamespaceProtection(可能使用正常的每页保护进一步限制这些命名空间中的某些页面),而不是完全撤消未经批准的用户的编辑权限,如下所示:
// Limit editing of the main namespace to approved users
$wgNamespaceProtection[NS_MAIN] = array( 'edit-main' );
$wgGroupPermissions['approved']['edit-main'] = true;
Run Code Online (Sandbox Code Playgroud)
这样,您可以设置一个页面,新用户可以在其中可以编辑的一个名称空间中要求批准该页面.
有关更多信息,请参阅手册:用户权限和帮助:在mediawiki.org上分配权限.
如果您愿意安装扩展程序,则Extension:ConfirmAccount将是您的最佳解决方案.
"ConfirmAccount扩展程序禁用直接帐户创建,并需要官僚批准新帐户"
这意味着在界面中清楚地告知新用户他们正在请求用户帐户.它还为管理员提供了一个专门设计的界面,用于批准请求,并在有人等待时通过电子邮件发送给某人(配置的电子邮件地址$ wgConfirmAccountContact).
虽然垃圾邮件发送者仍然可以通过请求帐户(与推荐使用ConfirmEdit验证码一起使用)来激怒您,但它们实际上不会像实际创建垃圾邮件用户帐户那样.