国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP網(wǎng)站中整體防注入方法

2024-05-04 22:59:58
字體:
供稿:網(wǎng)友

今天寫代碼的時候猛然想到是不能能夠通過一個文件來處理整個網(wǎng)站中所有可能出現(xiàn)注入的地方進行防范呢?這樣就能夠不用在每個程序里對每個變量進行過濾,節(jié)省了時間和代碼。

我們主要是從兩點出發(fā),因為我們的獲取的變量一般都是通過get或者post方式提交過來的,那么我們只要對get和post過來的變量進行過濾,那么就能夠達到防止注入的效果。而且我們的php真是非常好,已經(jīng)內(nèi)置了$_get和$_post兩個數(shù)組來存儲所有變量,我們要做的工作就是過濾每個變量就可以了。

下面看具體的代碼:

/* author: heiyeluren */
/* 過濾所有g(shù)et過來變量 */
foreach ($_get as $get_key=>$get_var)
{
    if (is_numeric($get_var))
 if (is_numeric($get_var)) {
  $get[strtolower($get_key)] = get_int($get_var);
 } else {
  $get[strtolower($get_key)] = get_str($get_var);
 }
}

/* 過濾所有post過來的變量 */
foreach ($_post as $post_key=>$post_var)
{
 if (is_numeric($post_var)) {
  $post[strtolower($post_key)] = get_int($post_var);
 } else {
  $post[strtolower($post_key)] = get_str($post_var);
 }
}

/* 過濾函數(shù) */
//整型過濾函數(shù)
function get_int($number)
{
    return intval($number);
}
//字符串型過濾函數(shù)
function get_str($string)
{
    if (!get_magic_quotes_gpc()) {
 return addslashes($string);
    }
    return $string;
}

那么我們把以上代碼放到一個公共的文件里,比如security.inc.php里面,每個文件里都include一下這個文件,那么就能夠給任何一個程序進行提交的所有變量進行過濾了,就達到了我們一勞永逸的效果。

另外,還有一些其他的過濾方法,比如采用我以前使用的關(guān)鍵字過濾的方法:http://dev.csdn.net/article/71/71475.shtm
還可以參考三尺寒冰寫的方法:http://www.fanghei.com/html/2005-06/20050607114008.htm

方法是不同的,但是核心就是為了我們的代碼更加安全。

author: heiyeluren
date: 2005-7-20


 



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤壁市| 富顺县| 娄底市| 中阳县| 连城县| 布拖县| 榆树市| 庄浪县| 江北区| 龙南县| 万荣县| 蓬溪县| 安达市| 永胜县| 许昌县| 陇南市| 滦平县| 阿荣旗| 木里| 遵化市| 循化| 山东| 阿拉善左旗| 淮南市| 内江市| 库伦旗| 博白县| 霍山县| 防城港市| 上虞市| 固始县| 凤山县| 阿城市| 盐亭县| 丹寨县| 龙川县| 西昌市| 垦利县| 正镶白旗| 华池县| 郧西县|