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 VS ASP
Oct 09 PHP
PHP 数字左侧自动补0
Mar 31 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
php数组去除空值函数分享
Feb 02 PHP
检测codeigniter脚本消耗内存情况的方法
Mar 21 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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获取服务器时间的实现代码
2013/06/07 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
详解Python的Django框架中的中间件
2015/07/24 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python设置值及NaN值处理方法
2018/07/03 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
财务会计专业个人求职信范本
2014/01/08 职场文书
安全生产月活动总结
2014/05/04 职场文书
三人合伙协议书范本
2014/10/29 职场文书
2014年老干部工作总结
2014/11/21 职场文书
2015年女生节活动总结
2015/02/27 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP