首頁 > php教程 > php手册 > 主體

经典php防注入函数代码

WBOY
發布: 2016-05-25 16:40:53
原創
1328 人瀏覽過

<?php
/*************************
    说明:  
    判断传递的变量中是否含有非法字符  
    如$_post、$_get  
    功能:  
    防注入  
    **************************/
//要过滤的非法字符  这个过滤的字符 还可以增加
$arrfiltrate = array(
    "&#39;",
    ";",
    "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;
    }
}
登入後複製


本文地址:

转载随意,但请附上文章地址:-)

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板