欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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 保险过滤函数代码

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

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • php 保险过滤函数代码
  • 专题推荐

    作者信息
    php 保险过滤函数代码

    认证0级讲师

    推荐视频教程
  • php 保险过滤函数代码javascript初级视频教程
  • php 保险过滤函数代码jquery 基础视频教程
  • 视频教程分类