PHP中如何实现常用邮箱的基本判断


Posted in PHP onJanuary 07, 2014

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

/** 
* @todo 用户输入安全性检测 
* @param $inputString 用户输入信息 
* @return true/false 
* @final 可以根据自己的需求进行过滤内容的变换 
*/ 
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; 
} 
}

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

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

'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', 
'@qq.com', 
'@etang.com', 
'@eyou.com', 
'@56.com', 
'@x.cn', 
'@chinaren.com', 
'@sogou.com', 
'@citiz.com', 
),

到此邮箱的过滤方法就完成了,大家可以在此基础上进行进一步的完善!
PHP 相关文章推荐
ip签名探针
Oct 09 PHP
PHP的中问验证码
Nov 25 PHP
PHP n个不重复的随机数生成代码
Jun 23 PHP
php面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
php中static静态变量的使用方法详解
Jun 04 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
linux iconv方法的使用
Oct 01 PHP
用php实现百度网盘图片直链的代码分享
Nov 01 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
PHP实现的二分查找算法实例分析
Dec 19 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 PHP
PHP实现变色验证码实例
Jan 06 #PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 #PHP
用php简单实现加减乘除计算器
Jan 06 #PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 #PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 #PHP
php Calender(日历)代码分享
Jan 03 #PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 #PHP
You might like
文件上传程序的全部源码
2006/10/09 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
二手书店创业计划书
2014/01/16 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
优秀毕业生求职信
2014/06/05 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python
python APScheduler执行定时任务介绍
2022/04/19 Python