php 保险过滤函数代码
程序员文章站
2022-04-24 08:42:44
...
php 安全过滤函数代码
php 安全过滤函数代码,防止用户恶意输入内容。
//安全过滤输入[jb]function check_str($string, $isurl = false){$string = preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string);$string = str_replace(array("\0","%00","\r"),'',$string);empty($isurl) && $string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",'&',$string);$string = str_replace(array("%3C",''),'',$string);$string = str_replace(array("%3E",'>'),'>',$string);$string = str_replace(array('"',"'","\t",' '),array('“','‘',' ',' '),$string);return trim($string);}
下面是整理的一些过滤函数:
/*** 安全过滤类-过滤javascript,css,iframes,object等不安全参数 过滤级别高* Controller中使用方法:$this->controller->fliter_script($value)* @param string $value 需要过滤的值* @return string*/function fliter_script($value) {$value = preg_replace("/(javascript:)?on(click|load|key|mouse|error|abort|move|unload|change|dblclick|move|reset|resize|submit)/i","&111n\\2",$value);$value = preg_replace("/(.*?)/si","",$value);$value = preg_replace("/(.*?)/si","",$value);$value = preg_replace ("//iesU", '', $value);return $value;}/*** 安全过滤类-过滤HTML标签* Controller中使用方法:$this->controller->fliter_html($value)* @param string $value 需要过滤的值* @return string*/function fliter_html($value) {if (function_exists('htmlspecialchars')) return htmlspecialchars($value);return str_replace(array("&", '"', "'", "", ">"), array("&", "\"", "'", "", ">"), $value);}/*** 安全过滤类-对进入的数据加下划线 防止SQL注入* Controller中使用方法:$this->controller->fliter_sql($value)* @param string $value 需要过滤的值* @return string*/function fliter_sql($value) {$sql = array("select", 'insert', "update", "delete", "\'", "\/\*", "\.\.\/", "\.\/", "union", "into", "load_file", "outfile");$sql_re = array("","","","","","","","","","","","");return str_replace($sql, $sql_re, $value);}/*** 安全过滤类-通用数据过滤* Controller中使用方法:$this->controller->fliter_escape($value)* @param string $value 需要过滤的变量* @return string|array*/function fliter_escape($value) {if (is_array($value)) { foreach ($value as $k => $v) { $value[$k] = self::fliter_str($v); }} else { $value = self::fliter_str($value);}return $value;}/*** 安全过滤类-字符串过滤 过滤特殊有危害字符* Controller中使用方法:$this->controller->fliter_str($value)* @param string $value 需要过滤的值* @return string*/function fliter_str($value) {$badstr = array("\0", "%00", "\r", '&', ' ', '"', "'", "", ">", " ", "%3C", "%3E");$newstr = array('', '', '', '&', ' ', '"', ''', "", " ", "");$value = str_replace($badstr, $newstr, $value);$value = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $value);return $value;}/*** 私有路劲安全转化* Controller中使用方法:$this->controller->filter_dir($fileName)* @param string $fileName* @return string*/function filter_dir($fileName) {$tmpname = strtolower($fileName);$temp = array(':/',"\0", "..");if (str_replace($temp, '', $tmpname) !== $tmpname) { return false;}return $fileName;}/*** 过滤目录* Controller中使用方法:$this->controller->filter_path($path)* @param string $path* @return array*/public function filter_path($path) {$path = str_replace(array("'",'#','=','`','$','%','&',';'), '', $path);return rtrim(preg_replace('/(\/){2,}|(\\\){1,}/', '/', $path), '/');}/*** 过滤PHP标签* Controller中使用方法:$this->controller->filter_phptag($string)* @param string $string* @return string*/public function filter_phptag($string) {return str_replace(array(''), array('', '?>'), $string);}/*** 安全过滤类-返回函数* Controller中使用方法:$this->controller->str_out($value)* @param string $value 需要过滤的值* @return string*/public function str_out($value) {$badstr = array("", ">", "%3C", "%3E");$newstr = array("", ">", "", ">");$value = str_replace($newstr, $badstr, $value);return stripslashes($value); //下划线}
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
上一篇: Ajax验证用户名(图文详解)
下一篇: Curl 方法抓取页面时出现的问题,
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论