查看完整版本: [-- PHP 中该怎样实现常用邮箱的基本判断 --]

-> WEB开发 -> PHP 中该怎样实现常用邮箱的基本判断 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

徒儿遵命 2014-01-08 15:26

PHP 中该怎样实现常用邮箱的基本判断

在邮件发送出去之前,用户的基本信息已经存在于数据库中了,如果是个错误的邮箱或者是恶意多注册账户那就需要过滤了,下面清源就为大家介绍下PHP 中实现常用邮箱的基本判断


越来越多的网站希望用户使用邮箱进行注册,或者是绑定邮箱,这时候就要对邮箱的正确性进行确认,有的人采用发送邮件进行激活的方式来进行判断,从而激活一个账户,但是存在一个问题就是,在邮件发送出去之前,用户的基本信息已经存在于数据库 中了,如果是个错误的邮箱或者是恶意多注册账户,那就会造成非活动账号太多,占用数据库存储空间,这边就需要在之前就进行这些邮箱的过滤,因此清源就写下下面的一个方法用来过滤邮箱。


代码如下:


  1. /**
    * @todo 用户输入安全性检测
    * @param $inputString 用户输入信息
    * @return true/false
    * [url=u.php?uid=526853]@final[/url]   可以根据自己的需求进行过滤内容的变换
    */ (PS:PHP Q扣峮:276167802,验证:2c)
    public function checkUserInput($inputString){
    if (strpos('script', $inputString)!=false){//检测是否含有script脚本
    return FALSE;
    }else if (strpos('iframe', $inputString)!=false){//检测是否含有iframe框架
    return FALSE;
    }else {
    return TRUE;
    }
    }

    /**
    * @todo checkeemail
    * @param emailString
    * @return false/true
    */
    public function checkEmail($emailString){
    if ($this -> checkUserInput($emailString) === TRUE){//检测是否含有敏感词汇
    if (strpos('@', $emailString) != FALSE){//检测是否存在@字符
    $emailArr = explode('@', $emailString);
    if (count($emailArr) > 2){//检测是否存在多个@字符
    return FALSE;
    }else{
    if (in_array('@'.$emailArr[1], Yii::app() -> params['mail_suffix'])){//检测后缀是否满足日常常用邮箱后缀
    return TRUE;
    }else{
    return FALSE;
    }
    }
    }else{
    return FALSE;
    }
    }else{
    return FALSE;
    }
    }


其中我定义了一个常用邮箱的后缀的数组,具体如下:


//常用邮箱后缀,根据具体需求可以再增加


代码如下:


  1. 'mail_suffix'=>array('@hotmail.com',
    '@msn.com',
    '@yahoo.com',
    '@gmail.com',
    '@aim.com',
    '@aol.com',
    '@mail.com',
    '@walla.com',
    '@inbox.com',
    '@126.com',
    '@163.com',
    '@sina.com',
    '@21cn.com',
    '@sohu.com',
    '@yahoo.com.cn',
    '@tom.com',
    '[url=u.php?uid=576761]@qq.com[/url]  ',
    '@etang.com',
    '@eyou.com',
    '@56.com',
    '@x.cn',
    '@chinaren.com',
    '@sogou.com',
    '@citiz.com',
    ),


到此邮箱的过滤方法就算完成了,大家可以在此基础上实行进一步的完善!


以上是本文关于PHP 中该怎样实现常用邮箱的基本判断,希望本文对广大php开发者有所帮助,感谢阅读本文。

谈笑有鸿儒 2015-02-17 21:18
拜读大作,谢谢楼主!顺祝新春快乐!


查看完整版本: [-- PHP 中该怎样实现常用邮箱的基本判断 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip enabled