首页 > php开发 > Php $_POST、$_GET防注入程序

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

转载随意~请带上教程地址吧^^

标签:$_post $_get 防注入程序

相关文章

发表留言