技巧:注册时检查用户电子邮箱

发表者:chippyash于2006/11/3 16:11:50 6941次阅读
一个简单的技巧,为您的网站增加额外的安全性,并防止恶意用户输入虚假的电子邮件地址。这将检查用户输入的邮件服务器是否有该电子邮件地址存在。

1) 从这里下载checkmail.zip文件,解压缩其内容并将它们放入您的xoops安装的class/目录中

2) 备份/include/functions.php文件

3) 编辑/include/functions.php文件,并用以下内容替换当前的函数声明

function checkEmail($email,$antispam false)


与以下内容

include_once(XOOPS_ROOT_PATH."/class/class.xbschmail.inc");
function 
checkEmail($email,$antispam false)
{
    if (!
$email || !preg_match("/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)+$/i",$email)){
        return 
false;
    }
    global 
$xoopsConfig;
    
$mailname split('@',$xoopsConfig['adminmail']);
    
$emval = new email_validation(5,0,$mailname[0],$mailname[1],0);
    
$test $emval->ValidateEmailBox($email);
    if (!
$test) {
        return 
false;
    }
    if (
$antispam) {
        
$email str_replace("@"" at "$email);
        
$email str_replace("."" dot "$email);
    }
    return 
$email;
}



现在尝试使用备用电子邮箱进行注册。它将被拒绝。它还会检查您是否允许用户更改他们的电子邮箱地址。

它在Linux服务器上有效。该代码包括Windows服务器的功能,但我在上面还没有进行测试。