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 相关文章推荐
escape unescape的php下的实现方法
Apr 27 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
php启动时候提示PHP startup的解决方法
May 07 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
PHP过滤黑名单关键字的方法
Dec 01 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
php格式文件打开的四种方法
Feb 24 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 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
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
python调用摄像头显示图像的实例
2018/08/03 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
党员四风自我剖析材料
2014/10/07 职场文书
骨干教师事迹材料
2014/12/17 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
python中的3种定义类方法
2021/11/27 Python
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript