好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

好用的PHP防注入漏洞过滤函数 - 网站安全 - 自学

<? PHP //PHP整站防注入程序,需要在公共文件中require_once本文件 //判断magic_quotes_gpc状态 if (@get_magic_quotes_gpc ()) {         $_GET = sec ( $_GET );         $_POST = sec ( $_POST );         $_COOKIE = sec ( $_COOKIE );         $_FILES = sec ( $_FILES ); } $_SERVER = sec ( $_SERVER ); function sec(&$array) {         //如果是数组,遍历数组,递归调用         if (is_array ( $array )) {                 foreach ( $array as $k => $v ) {                         $array [$k] = sec ( $v );                 }         } else if (is_string ( $array )) {                 //使用addslashes函数来处理                 $array = addslashes ( $array );         } else if (is_numeric ( $array )) {                 $array = intval ( $array );         }         return $array; } //整型过滤函数 function num_check($id) {         if (! $id) {                 die ( '参数不能为空!' );         } //是否为空的判断         else if (inject_check ( $id )) {                 die ( '非法参数' );         } //注入判断         else if (! is_numetic ( $id )) {                 die ( '非法参数' );         }         //数字判断         $id = intval ( $id );         //整型化         return $id; } //字符过滤函数 function str_check($str) {         if (inject_check ( $str )) {                 die ( '非法参数' );         }         //注入判断         $str = html specialchars ( $str );         //转换html         return $str; } function search_check($str) {         $str = str_replace ( "_", "\_", $str );         //把"_"过滤掉         $str = str_replace ( "%", "\%", $str );         //把"%"过滤掉         $str = htmlspecialchars ( $str );         //转换html         return $str; } //表单过滤函数 function post_check($str, $min, $max) {         if (isset ( $min ) && strlen ( $str ) < $min) {                 die ( '最少$min字节' );         } else if (isset ( $max ) && strlen ( $str ) > $max) {                 die ( '最多$max字节' );         }         return stripslashes_array ( $str ); } //防注入函数 function inject_check($sql_str) {         return eregi ( 'select|inert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|UNION|into|load_file|outfile', $sql_str );         // www.2cto.com 进行过滤,防注入 } function stripslashes_array(&$array) {         if (is_array ( $array )) {                 foreach ( $array as $k => $v ) {                         $array [$k] = stripslashes_array ( $v );                 }         } else if (is_string ( $array )) {                 $array = stripslashes ( $array );         }         return $array; } ?>

查看更多关于好用的PHP防注入漏洞过滤函数 - 网站安全 - 自学的详细内容...

  阅读:48次