PHP中如何实现常用邮箱的基本判断
2014-01-07 00:00
357 查看
越来越多的网站希望用户使用邮箱进行注册,或者是绑定邮箱,这时候就要对邮箱的正确性进行确认,有的人采用发送邮件进行激活的方式来进行判断,从而激活一个账户,但是存在一个问题就是,在邮件发送出去之前,用户的基本信息已经存在于数据库中了,如果是个错误的邮箱或者是恶意多注册账户,那就会造成非活动账号太多,占用数据库存储空间,这边就需要在之前就进行这些邮箱的过滤,因此作者写下下面的一个方法用来过滤邮箱。
其中我定义了一个常用邮箱的后缀的数组,具体如下:
//常用邮箱后缀,根据具体需求可以再增加
到此邮箱的过滤方法就完成了,大家可以在此基础上进行进一步的完善!
/** * @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中实现常用邮箱的判断
- 浅析php如何实现App常用的秒发功能
- 四种常用排序方法的基本思想和PHP实现源代码
- 探讨如何实现PHP判断字符串是否为IP
- 如何对新成员实现邮箱认证(PHP)
- 如何用Apache与MySQL整合实现基本身份认证_PHP教程
- web服务器如何判断客户端文件已下载结束?(php实现)
- PHP如何实现判断请求是否来自手机和请求是否是来自浏览器的问题
- 浅析php如何实现App常用的秒发功能
- 如何实现网站根据ip判断地区 自动跳转到所属地区页面【PHP版】
- js,php实现用ua判断手机,ipad,pc浏览器访问网页不同尺寸页
- PHP如何实现给定日期的若干天以后的日期
- C#代码实现邮箱验证C#中及一些常用的正则表达式
- Android-ScrollView(基本实现,顶部判断,底部判断,底部加载更多)
- PHP 中mysql如何实现事务提交?
- [转]php初级教程(三)php的常用函数和基本流程(2007-12-17 14:46:16)[编辑][删除]
- php扩展Imagick库,如何实现gif转webp
- PHP实现根据银行卡号判断银行
- 在php中,如何判断一个请求是ajax请求还是普通请求?