sspanel 添加 注册邮箱黑/白名单
白名单:
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,完工 只允许白名单中后缀邮箱注册。