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 和 COM
Oct 09 PHP
PHP SQLite类
May 07 PHP
UCenter Home二次开发指南
May 28 PHP
php批量上传的实现代码
Jun 09 PHP
php一行代码获取文件后缀名实例分析
Nov 12 PHP
php去除数组中重复数据
Nov 18 PHP
php删除指定目录的方法
Apr 03 PHP
php实现点击可刷新验证码
Nov 07 PHP
PHP中的session安全吗?
Jan 22 PHP
php简单备份与还原MySql的方法
May 09 PHP
Windows2003下php5.4安装配置教程(IIS)
Jun 30 PHP
laravel5.6中的外键约束示例
Oct 23 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堆排序(heapsort)练习
2013/11/13 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
python简单分割文件的方法
2015/07/30 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
Emma Bridgewater官网:英国餐具制造商
2019/11/24 全球购物
财务会计专业个人求职信范本
2014/01/08 职场文书
大家检讨书5000字
2014/02/03 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
教师节主持词开场白
2015/05/29 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL