php安全过滤函数代码,防止用户恶意输入内容。代码如下:安全过滤输入functioncheck_str($string,$isurlfalse){$stringpreg_repla
php 安全过滤函数代码,防止用户恶意输入内容。
代码如下:
//安全过滤输入[jb] function check_str($string, $isurl = false) { $string = preg_replace(&#039;/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/&#039;,&#039;&#039;,$string); $string = str_replace(array("\0","%00","\r"),&#039;&#039;,$string); empty($isurl) && $string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",&#039;&&#039;,$string); $string = str_replace(array("%3C",&#039;<&#039;),&#039;<&#039;,$string); $string = str_replace(array("%3E",&#039;>&#039;),&#039;>&#039;,$string); $string = str_replace(array(&#039;"&#039;,"&#039;","\t",&#039; &#039;),array(&#039;“&#039;,&#039;‘&#039;,&#039; &#039;,&#039; &#039;),$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("/(.*?)<\/script>/si","",$value);$value = preg_replace("/(.*?)<\/iframe>/si","",$value);$value = preg_replace ("//iesU", &#039;&#039;, $value);return $value;}/*** 安全过6来源gaodaimacom搞#^代%!码网搞gaodaima代码滤类-过滤HTML标签* Controller中使用方法:$this->controller->fliter_html($value)* @param string $value 需要过滤的值* @return string*/function fliter_html($value) {if (function_exists(&#039;htmlspecialchars&#039;)) return htmlspecialchars($value);return str_replace(array("&", &#039;"&#039;, "&#039;", "<", ">"), array("&", "\"", "&#039;", "<", ">"), $value);}/*** 安全过滤类-对进入的数据加下划线 防止SQL注入* Controller中使用方法:$this->controller->fliter_sql($value)* @param string $value 需要过滤的值* @return string*/function fliter_sql($value) {$sql = array("select", &#039;insert&#039;, "update", "delete", "\&#039;", "\/\*", "\.\.\/", "\.\/", "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", &#039;&&#039;, &#039; &#039;, &#039;"&#039;, "&#039;", "<", ">", " ", "%3C", "%3E");$newstr = array(&#039;&#039;, &#039;&#039;, &#039;&#039;, &#039;&&#039;, &#039; &#039;, &#039;"&#039;, &#039;&#039;&#039;, "<", ">", " ", "<", ">");$value = str_replace($badstr, $newstr, $value);$value = preg_replace(&#039;/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/&#039;, &#039;&\\1&#039;, $value);return $value;}/*** 私有路劲安全转化* Controller中使用方法:$this->controller->filter_dir($fileName)* @param string $fileName* @return string*/function filter_dir($fileName) {$tmpname = strtolower($fileName);$temp = array(&#039;:/&#039;,"\0", "..");if (str_replace($temp, &#039;&#039;, $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("&#039;",&#039;#&#039;,&#039;=&#039;,&#039;`&#039;,&#039;$&#039;,&#039;%&#039;,&#039;&&#039;,&#039;;&#039;), &#039;&#039;, $path);return rtrim(preg_replace(&#039;/(\/){2,}|(\\\){1,}/&#039;, &#039;/&#039;, $path), &#039;/&#039;);}/*** 过滤PHP标签* Controller中使用方法:$this->controller->filter_phptag($string)* @param string $string* @return string*/public function filter_phptag($string) {return str_replace(array(&#039;&#039;), array(&#039;&#039;, &#039;?>&#039;), $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 安全过滤函数示例代码的详细内容,更多请关注gaodaima其它相关文章!