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 相关文章推荐
在项目中寻找代码的坏命名
Jul 14 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
调整PHP的性能
Oct 30 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
Nov 18 PHP
smarty的section嵌套循环用法示例
May 28 PHP
PHP如何实现跨域
May 30 PHP
php for 循环使用的简单实例
Jun 02 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 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取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
跟老齐学Python之list和str比较
2014/09/20 Python
Python中文件操作简明介绍
2015/04/13 Python
简单学习Python time模块
2016/04/29 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
基于Python实现粒子滤波效果
2020/12/01 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
韩国商务邀请函
2014/01/14 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
《分一分》教学反思
2014/04/13 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技