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采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
PHP连接SQLServer2005方法及代码
Dec 26 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 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中调用ASP.NET的WebService的代码
2011/04/22 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
php中__toString()方法用法示例
2016/12/07 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
自荐书封面下载
2013/11/29 职场文书
单位单身证明范本
2014/01/11 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
如何写股份合作协议书
2014/09/11 职场文书
四查四看整改措施
2014/09/19 职场文书
护士实习自荐信
2015/03/06 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
python本地文件服务器实例教程
2021/05/02 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS