复制代码 代码如下:
/**
* @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',
),
到此邮箱的过滤方法就完成了,大家可以在此基础上进行进一步的完善!
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!