Php $_POST、$_GET防注入程序
这段程序代码是一款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注入*****************/永久地址:http://www.phprm.com/develop/fs4751.html
转载随意~请带上教程地址吧^^