加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 安全过滤函数代码

发布时间:2020-12-13 05:53:01 所属栏目:PHP教程 来源:网络整理
导读:代码如下: '),'>',$string); $string = str_replace(array('"',"'","t",' '),array('“','‘',' ',$string); return trim($string); } 下面是为大家整理的一些过滤函数: 代码如下: controller->fliter_script($value)* @param string $value 需要过滤的值*

代码如下:
'),'>',$string); $string = str_replace(array('"',"'","t",' '),array('“','‘',' ',$string); return trim($string); }

下面是为大家整理的一些过滤函数:

代码如下:
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","&111n2",$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","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("<","%3E"); $newstr = array("<",">"); $value = str_replace($newstr,$badstr,$value); return stripslashes($value); //下划线 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读