技巧:注册时检查用户电子邮箱
发表者: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服务器的功能,但我在上面还没有进行测试。