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

首頁 > 開發 > PHP > 正文

php代碼防注入,保護代碼安全

2024-05-04 21:51:54
字體:
來源:轉載
供稿:網友

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

我們主要是從兩點出發,因為我們的獲取的變量一般都是通過GET或者POST方式提交過來的,那么我們只要對GET和POST過來的變量進行過濾,那么就能夠達到防止注入的效果。而且我們的PHP真是非常好,已經內置了$_GET和$_POST兩個數組來存儲所有變量,我們要做的工作就是過濾每個變量就可以了。

下面看具體的代碼:

php代碼:

以下為引用的內容:

/*
PHP118= 全球最大的PHP中文社群 = PHPer的網上家園
*/

/* Author: heiyeluren */
/* 過濾所有GET過來變量 */
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);
}
}

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 启东市| 哈密市| 阳泉市| 湘阴县| 木兰县| 蓬溪县| 弥渡县| 双柏县| 微山县| 石河子市| 汝州市| 望江县| 会理县| 集安市| 抚顺市| 土默特左旗| 榆社县| 寻甸| 马边| 海原县| 德化县| 龙井市| 木里| 临潭县| 衡南县| 阜南县| 习水县| 昭苏县| 金溪县| 卓尼县| 剑阁县| 诸城市| 昭平县| 阜康市| 红桥区| 曲靖市| 石林| 特克斯县| 延津县| 即墨市| 淳化县|