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 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
第二节--PHP5 的对象模型
Nov 16 PHP
PHP 已经成熟
Dec 04 PHP
PHP Directory 函数的详解
Mar 07 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
thinkphp常见路径用法分析
Dec 02 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
PHP获取当前相对于域名目录的方法
Jun 26 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
php插入含有特殊符号数据的处理方法
Nov 24 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
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
destoon官方标签大全
2014/06/20 PHP
JS中类或对象的定义说明
2014/03/10 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
vue中如何使用ztree
2018/02/06 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
介绍Python中的文档测试模块
2015/04/28 Python
Django组件content-type使用方法详解
2019/07/19 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
python遍历路径破解表单的示例
2020/11/21 Python
python re.match()用法相关示例
2021/01/27 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
瑜伽国际:Yoga International
2018/04/18 全球购物
《夜晚的实验》教学反思
2014/02/19 职场文书
出纳员的岗位职责
2014/02/22 职场文书
文秘大学生求职信
2014/02/25 职场文书
专家推荐信模板
2014/05/09 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
父亲节活动策划方案
2014/08/24 职场文书
2014年协会工作总结
2014/11/22 职场文书
预备党员转正材料
2014/12/19 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
关于幸福的感言
2015/08/03 职场文书
公司车队管理制度
2015/08/04 职场文书
运动会跳远广播稿
2015/08/19 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python