WordPress限制用户注册时使用的邮箱域名后缀,防止垃圾信息的泛滥

3,883 次浏览*_*

共计 2480 个字符,预计需要花费 7 分钟才能阅读完成。

原创文章,转载请注明: 转载自cnorg.12hp.de

随着时间的推移,WordPress站点的运营会逐渐吸引一些垃圾用户或自动注册的机器人用户。为了防止这些不受欢迎的用户注册,你可以通过限制邮箱后缀的方式来实现。例如,你可以指定只允许使用 qq.com 或 163.com 等邮箱后缀的用户注册,或者禁止使用一些常见的国外垃圾邮件发送者常用的邮箱后缀。下面将提供一个详细的教程来指导你如何实现这一功能。

WordPress限制用户注册时使用的邮箱域名后缀,防止垃圾信息的泛滥

方案一:通过自定义代码实现限制

如果你希望在WordPress中限制用户注册时只能使用特定的邮箱后缀(比如@gmail.com),你可以通过向主题的functions.php文件添加自定义代码,或者将代码封装成插件来实现这一功能。下面提供了白名单和黑名单两种模式的示例代码,这些代码会在用户注册时检查邮箱后缀,并根据匹配结果阻止或允许注册。

接下来,我们将提供实现这一功能的代码示例,你可以根据自己的需求选择使用白名单模式或黑名单模式。

白名单模式代码示例

add_filter('registration_errors', function($errors, $login, $email){

/**

* 这里定义允许注册的邮箱后缀域名,你可以根据需要自定义添加到数组中

* 使用英文逗号分隔,引号也使用英文输入状态输入,域名字母需小写

*/

$valid_domains = ['gmail.com', 'qq.com'];

$email_domain = strtolower(substr(strrchr($email, "@"), 1));

// 如果邮箱域名不在白名单列表中

if (!in_array($email_domain, $valid_domains)){

// 这里的提示信息可以根据需要自定义替换

$msg = '本站只支持Gmail和QQ邮箱注册。';

$errors->add('domain_whitelist_error', $msg);

}

return $errors;

}, 10, 3);

黑名单模式代码示例

add_filter('registration_errors', function($errors, $login, $email) {

/**

* 这里定义不允许注册的邮箱后缀域名,你可以根据需要自定义添加到数组中

* 使用英文逗号分隔,引号也使用英文输入状态输入,域名字母需小写

*/

$restricted_domains = ['gmail.com', 'qq.com'];

$email_domain = strtolower(substr(strrchr($email, "@"), 1));

// 如果邮箱域名在黑名单列表中

if (in_array($email_domain, $restricted_domains)){

// 这里的提示信息可以根据需要自定义替换

$msg = '当前域名后缀的邮箱不允许注册。';

$errors->add('domain_blacklist_error', $msg);

}

return $errors;

}, 10, 3);

代码部署指南

代码部署可以通过在主题的functions.php文件最后添加代码来实现,或者创建一个新的PHP文件,将代码复制进去后上传到插件目录。

推荐使用插件形式部署代码

  1. 创建PHP文件:你可以使用代码编辑器(如Visual Studio Code、Sublime Text)或通过宝塔面板的文件管理器来创建一个新的PHP文件,并将其保存为email-domain-check.php;
  2. 添加代码:由于上面提供的示例代码仅为核心功能代码,你需要在新建文件的第一行添加<?php来开始PHP代码,然后从第二行开始复制上面的代码,最后根据需要替换邮箱域名和提示信息,并保存文件;
  3. 上传到插件目录:将文件上传到服务器的网站插件目录,通常是网站目录下的/wp-content/plugins目录,上传后的完整路径应该是/wp-content/plugins/email-domain-check.php;
  4. 启用插件:登录到网站后台,进入插件页面,启用你刚刚上传的插件,插件名称可以是WordPress 注册邮箱白名单或者WordPress 注册邮箱黑名单;

将代码部署到主题的functions.php文件

  1. 访问你的WordPress网站文件:你可以使用FTP客户端或通过网站控制面板(如宝塔)的文件管理器来访问你的WordPress站点文件;
  2. 编辑functions.php文件:找到你当前主题的functions.php文件,通常位于/wp-content/themes/your-theme-name/目录下。建议使用子主题来避免将来更新主题时丢失自定义代码,你可以参考子主题创建教程来了解如何操作;
  3. 添加自定义代码:在functions.php文件的末尾添加代码,并根据需求修改代码中的邮箱后缀列表,然后保存文件。

方案二:通过插件实现限制

如果你希望在WordPress中限制可以注册的邮箱类型后缀,你可以选择以下方法之一:

使用现成的插件:最简单的方法是使用WordPress插件来实现这一功能。市面上有一些插件可以让你轻松地添加自定义的邮箱后缀限制。以下是使用插件的步骤:

  1. 登录到WordPress后台。
  2. 转到“插件” > “安装新插件”。
  3. 在搜索框中输入User Domain Whitelist 或 CM E-Mail Blacklist 关键词,然后查找相应的插件。
  4. 安装并激活一个合适的插件。
  5. 配置插件以限制或允许特定的邮箱后缀。

两种插件的功能相似,User Domain Whitelist 允许你选择使用“白名单”或“黑名单”模式。例如,选择“白名单”模式时,只有添加到白名单列表的邮箱域名可以注册;选择“黑名单”模式时,黑名单列表中的邮箱域名都不允许注册。

CM E-Mail Blacklist 插件同样可以设置白名单和黑名单,并且可以测试设置是否生效,但实际测试可能无法打开。

写在最后

使用插件的方式实现起来比较简单,这里就不详细展开了。总之,通过上述步骤,你就可以在WordPress网站上对特定后缀的邮箱地址进行白名单或黑名单的限制注册了。

正文完
 542

扫一扫关注公众号和捐赠

心语家园
版权声明:本站原创文章,由 心语家园 于2025-09-30发表,共计2480字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。