首页 >后端开发 >php教程 >数据过滤、格式化用户输入 php札记

数据过滤、格式化用户输入 php札记

WBOY
WBOY原创
2016-06-13 11:01:501158浏览

数据过滤、格式化用户输入 php笔记
1.过滤
abstract class Filter{
        protected $blackstr = array();
        protected $whitestr = array();
       
        abstract function filtit($str);
    }
    //过滤用户名的特殊符号
    class LoginFilter extends Filter {
        function filtit($str){
            $this->blackstr = array("/[\x7f-\xff]/","/\W/");
            return preg_replace($this->blackstr,"",$str);
        }
    }
    //对输入的文本框内容过滤
    class EditFilter extends Filter {
        function filtit($str){
            $this->blackstr = array("/\&/", "/\"/", "/\"/", "/\", "/\>/",
            "/\\\\/", "/\//", "/-/", "/\*/", "/ /" );
            $this->whitestr = array("&","'","","\'","/","-","*"," ");
            return preg_replace($this->blackstr,$this->whitestr,$str);
        }
    }



2.//用户的留言是一段代码:比如是js脚本;那么怎样及时避免数据的危害,取出数据时又正确显示

$js = "<script>alert('look me');</script>";//假设用户输入的是脚本
    //$str1 = base64_encode($js);//使用 MIME base64 对数据进行编码
    //echo $str1."
";
   
    //$str2 = base64_decode($str1);//
    echo htmlspecialchars($js);//转换特殊字符为HTML字符编码

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn