欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

淺談保護代碼安全,PHP如何進行注入_PHP教程

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

推薦:解析php+javascript 靜態(tài)化簡單實例
1. php生成js文件: ?php a=array( array('title'='本地新聞1',ln='#'), array('title'='本地新聞2',ln='#'), array('title'='本地新聞3',ln='#') );//實際操作中可通過數(shù)據(jù)庫得到記錄集數(shù)組 news=' var a=['; //把該數(shù)組轉(zhuǎn)化為javascrīpt形式 for(i=0;icount

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

下面看具體的代碼:
/*
PHP開發(fā)資源網(wǎng) = 全球最大的PHP中文社群 = PHPer的網(wǎng)上家園
*/

/* Author: heiyeluren */
/* 過濾所有GET過來變量 */
foreach ($_GET as $get_key=%26gt;$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=%26gt;$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;
} a

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

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

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

分享:解析PHP經(jīng)典的給圖片加水印程序
如果對PHP的GD庫比較熟悉,看懂這篇文章一點都不難了! E HTML PUBLIC -//W3C//DTD HTML 4.0 html head titleUntitled/title /head body ?php uptypes=array( 'image/jpg', 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif',

來源:模板無憂//所屬分類:PHP教程/更新時間:2010-02-26
相關(guān)PHP教程