经典php防注入函数代码
<?php
/*************************
说明:
判断传递的变量中是否含有非法字符
如$_post、$_get
功能:
防注入
**************************/
//要过滤的非法字符 这个过滤的字符 还可以增加
$arrfiltrate = array(
"'",
";",
"union"
);
//出错后要跳转的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="网页特效">alert("非法字符");</script>";
if (emptyempty($strgourl)) {
echo "<script language="javascript">history.go(-1);</script>";
} else {
echo "<script language="javascript">window.location="".$strgourl."";</script>";
}
exit;
}
}本文地址:http://www.phprm.com/develop/fs4724.html
转载随意,但请附上文章地址:-)