php代碼防注入,保護(hù)代碼安全_PHP教程
推薦:用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
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- 解析PHP連接遠(yuǎn)程MYSQL和MYSQL5.1中文亂碼處理方法
- php 刪除字符串中的空格多種方法
- 《PHP設(shè)計(jì)模式介紹》第十三章 適配器模式
- php 無(wú)法加載mcrypt.dll的解決辦法
- CURL的學(xué)習(xí)和應(yīng)用(附多線程實(shí)現(xiàn))
- 解讀php框架codeigniter是如何實(shí)現(xiàn)mvc模式以及單一入口
- 使用PHP構(gòu)造函數(shù)
- php函數(shù)range() round()和list()如何使用
- 黑客隱藏PHP文件后門(mén)的技巧
- 如何在PHP中實(shí)現(xiàn)文件的上傳功能
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-php代碼防注入,保護(hù)代碼安全
。