日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

php代碼防注入,保護(hù)代碼安全_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:用PHP生成中文拼音代碼
以下為引用的內(nèi)容: php代碼: ?php class ChineseSpell { /** * @var array $chines

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

我們主要是從兩點(diǎn)出發(fā),因?yàn)槲覀兊墨@取的變量一般都是通過(guò)GET或者POST方式提交過(guò)來(lái)的,那么我們只要對(duì)GET和POST過(guò)來(lái)的變量進(jìn)行過(guò)濾,那么就能夠達(dá)到防止注入的效果。而且我們的PHP真是非常好,已經(jīng)內(nèi)置了$_GET和$_POST兩個(gè)數(shù)組來(lái)存儲(chǔ)所有變量,我們要做的工作就是過(guò)濾每個(gè)變量就可以了。

下面看具體的代碼:

php代碼:

以下為引用的內(nèi)容:

/*
PHP118= 全球最大的PHP中文社群 = PHPer的網(wǎng)上家園
*/

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

/* 過(guò)濾所有POST過(guò)來(lái)的變量 */
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);
}
}

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

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

分享:PHP數(shù)據(jù)庫(kù)備份類
以下為引用的內(nèi)容: php代碼: ?php /******************************************************* **文 件 名:DBManage

來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2008-11-25
相關(guān)PHP教程