白名单:

qq.com,vip.qq.com,gmail.com,outlook.com,hotmail.com,126.com,139.com,163.com,sina.cn,sina.com,sohu.com

黑名单:

sawoe.com,chacuo.net,027168.com,linshiyouxiang.net

创建数组:

$whitelist = array("qq.com", "vip.qq.com", "gmail.com", "outlook.com", "hotmail.com", "126.com", "139.com", "163.com", "sina.cn", "sina.com", "sohu.com"); #白名单 
$blocklist = array("sawoe.com", "chacuo.net", "027168.com","linshiyouxiang.net"); #黑名单

获取邮箱后缀:

$Mailbox_Suffix = explode('@', $email)[1]; #获取邮箱后缀

白名单机制:

if(in_array("$Mailbox_Suffix",$whitelist)){
                return true;
            }

修改文件

/app/Utils/Check.php

例如:

<?php
namespace App\Utils;
class Check
{
    //
    public static function isEmailLegal($email)
    {
      $whitelist = array("qq.com", "vip.qq.com", "gmail.com", "outlook.com", "hotmail.com", "126.com", "139.com", "163.com", "sina.cn", "sina.com", "sohu.com"); #白名单
        $blocklist = array("sawoe.com", "chacuo.net", "027168.com","linshiyouxiang.net"); #黑名单
      
        if (filter_var($email, FILTER_VALIDATE_EMAIL)&&strlen($email)<=32) 
        {
          $Mailbox_Suffix = explode('@', $email)[1]; #获取邮箱后缀
          if(in_array("$Mailbox_Suffix",$whitelist)){
                return true;
            }  
        } else {
            return false;
        }
    }
}

修改黑名单邮箱注册时提示语:
修改

/app/Controllers/AuthController.php

例如:

    // check email format
    if (!Check::isEmailLegal($email)) {
        $res['ret'] = 0;
        $res['msg'] = "邮箱无效。您可能填入了不规范的邮箱地址,或是使用了不被允许的临时邮箱。";
        return $response->getBody()->write(json_encode($res));
    }

OK,完工 只允许白名单中后缀邮箱注册。

添加新评论