php防注入过滤客户提交$_GET 和$_POST参数
下面一款防止php页面给sql注入的一个程序代码,有需要的朋友可参考,以下代码实现过滤php的$_GET 和$_POST参数.
php防注入过滤客户提交$_GET 和$_POST参数实例代码如下:
/** * 安全防范 */ function Add_S( $array ) { //开源代码phpfensi.com foreach ( $array as $key => $value ) { if (! is_array ( $value )) { $value = get_magic_quotes_gpc()? $value : addslashes ( $value ); $array [ $key ]=filterHtml( $value ); } Else { Add_S( $array [ $key ]); } } return $array ; } function glstr( $var ) { if ( is_array ( $var )) { return Add_S( $var ); } elseif ( strlen ( $var )){ $var = get_magic_quotes_gpc()? $var : addslashes ( $var ); $var = filterHtml( $var ); } return $var ; } function filterHtml( $html ) { $farr = array ( "/<!DOCTYPE([^>]*?)>/eis" , "/<(/?)(html|body|head|link|meta|base|input)([^>]*?)>/eis" , "/<(script|i?frame|style|title|form)(.*?)</\1>/eis" , "/(<[^>]*?s+)on[a-z]+s*?=(" |')([^\2]*)\2([^>]*?>)/isU", //过滤javascript的on事件 "/s+/" , //过滤多余的空白 ); $tarr = array ( "" , "" , "" , "\1\4" , " " , ); $html = preg_replace( $farr , $tarr , $html ); return $html ; } if (sizeof( $_GET )) { foreach ( $_GET as $key => $value ) { $_GET [ $key ] = glstr( $value ); // } } if (sizeof( $_POST )) { foreach ( $_POST as $key => $value ) { $_POST [ $key ] = glstr( $value ); // } }查看更多关于php防注入过滤客户提交$_GET 和$_POST参数 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30798