PHP安全-簡(jiǎn)單就是美
簡(jiǎn)單就是美
復(fù)雜滋生錯(cuò)誤,錯(cuò)誤能導(dǎo)致安全漏洞。這個(gè)簡(jiǎn)單的事實(shí)說(shuō)明了為什么簡(jiǎn)單對(duì)于一個(gè)安全的應(yīng)用來(lái)說(shuō)是多么重要。沒(méi)有必要的復(fù)雜與沒(méi)有必要的風(fēng)險(xiǎn)一樣糟糕。
例如,下面的代碼摘自一個(gè)最近的安全漏洞通告:
CODE:
<?php
$search = (isset($_GET[’search’]) ? $_GET[’search’] : ’’);
?>
這個(gè)流程會(huì)混淆$search變量受污染*的事實(shí),特別是對(duì)于缺乏經(jīng)驗(yàn)的開(kāi)發(fā)者而言。上面語(yǔ)句等價(jià)于下面的程序:
CODE:
<?php
$search = ’’;
if (isset($_GET[’search’]))
{
$search = $_GET[’search’];
}
?>
上面的兩個(gè)處理流程是完全相同的。現(xiàn)在請(qǐng)注意一下下面的語(yǔ)句:
$search = $_GET[’search’];
使用這一語(yǔ)句,在不影響流程的情況下,保證了$search變量的狀態(tài)維持原樣,同時(shí)還可以看出它是否受污染。
* 譯注:受污染變量,即在程序執(zhí)行過(guò)程中,該變量的值不是由賦值語(yǔ)句直接指定值,而是來(lái)自其它來(lái)源,如控制臺(tái)錄入、數(shù)據(jù)庫(kù)等。
相關(guān)文章:
1. 使用vue-cli創(chuàng)建項(xiàng)目并webpack打包的操作方法2. 在vue中獲取wangeditor的html和text的操作3. Python用K-means聚類(lèi)算法進(jìn)行客戶(hù)分群的實(shí)現(xiàn)4. python mysql 字段與關(guān)鍵字沖突的解決方式5. python編寫(xiě)五子棋游戲6. Java xml數(shù)據(jù)格式返回實(shí)現(xiàn)操作7. 解決Android Studio Design界面不顯示layout控件的問(wèn)題8. vue style width a href動(dòng)態(tài)拼接問(wèn)題的解決9. Java源碼解析之接口List10. python讀取中文路徑時(shí)出錯(cuò)(2種解決方案)
