PHP中如何实现常用邮箱的基本判断
发布:smiling 来源: PHP粉丝网 添加日期:2020-08-23 20:52:27 浏览: 评论:0
在邮件发送出去之前,用户的基本信息已经存在于数据库中了,如果是个错误的邮箱或者是恶意多注册账户那就需要过滤了,下面为大家介绍下PHP中实现常用邮箱的判断.
越来越多的网站希望用户使用邮箱进行注册,或者是绑定邮箱,这时候就要对邮箱的正确性进行确认,有的人采用发送邮件进行激活的方式来进行判断,从而激活一个账户,但是存在一个问题就是,在邮件发送出去之前,用户的基本信息已经存在于数据库中了,如果是个错误的邮箱或者是恶意多注册账户,那就会造成非活动账号太多,占用数据库存储空间,这边就需要在之前就进行这些邮箱的过滤,因此作者写下下面的一个方法用来过滤邮箱。 代码如下:
- /**
- * @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',
- ),
到此邮箱的过滤方法就完成了,大家可以在此基础上进行进一步的完善!
Tags: PHP常用邮箱
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)