这段程序代码是一款php $_POST、$_GET防注入程序,以前我们也写过很多sql防注入程序,下面来看看这款防注入的php代码吧.
<?php /************************* 说明: 判断传递的变量中是否含有非法字符 如$_POST、$_GET 功能: 防注入 *************************/ //要过滤的非法字符 //开源代码phprm.com $ArrFiltrate = array( "'", "or", "and", "union", "where" ); //出错后要跳转的url,不填则默认前一页 $StrGoUrl = ""; //是否存在数组中的值 function FunStringExist($StrFiltrate, $ArrFiltrate) { foreach ($ArrFiltrate as $key => $value) { if (eregi($value, $StrFiltrate)) { return true; } } return false; } //合并$_POST 和 $_GET if (function_exists(array_merge)) { $ArrPostAndGet = array_merge($HTTP_POST_VARS, $HTTP_GET_VARS); } else { foreach ($HTTP_POST_VARS as $key => $value) { $ArrPostAndGet[] = $value; } foreach ($HTTP_GET_VARS as $key => $value) { $ArrPostAndGet[] = $value; } } //验证开始 foreach ($ArrPostAndGet as $key => $value) { if (FunStringExist($value, $ArrFiltrate)) { echo "<script language='javascript教程'>alert('传递的信息中不得包含{',or,and,union}等非法字符请您把他们换成{',OR,AND,UNION}');</script>"; if (emptyempty($StrGoUrl)) { echo "<script language='javascript'>history.go(-1);</script>"; } else { echo "<script language='javascript'>window.location='" . $StrGoUrl . "';</script>"; } exit; } } /***************结束防止PHP注入*****************/
永久地址:
转载随意~请带上教程地址吧^^