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 相关文章推荐
php下检测字符串是否是utf8编码的代码
Jun 28 PHP
PHP 时间转换Unix时间戳代码
Jan 22 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
PHPEXCEL 使用小记
Jan 06 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
Symfony2学习笔记之模板用法详解
Mar 17 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
php字符串倒叙
Apr 01 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
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
php xml常用函数的集合(比较详细)
2013/06/06 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
Python3基础之基本运算符概述
2014/08/13 Python
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Python paramiko模块的使用示例
2018/04/11 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
基于Python绘制个人足迹地图
2020/06/01 Python
python 深度学习中的4种激活函数
2020/09/18 Python
Python创建自己的加密货币的示例
2021/03/01 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
图书室管理制度
2014/01/19 职场文书
个人借款担保书
2014/04/02 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
Python OpenCV实现图像模板匹配详解
2022/04/07 Python