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è)處理流程是完全相同的?,F(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. js實(shí)現(xiàn)碰撞檢測(cè)2. 一文帶你徹底理解Java序列化和反序列化3. JS實(shí)現(xiàn)前端動(dòng)態(tài)分頁(yè)碼代碼實(shí)例4. 關(guān)于IDEA 2020.3 多窗口視圖丟失的問(wèn)題5. PHP驗(yàn)證碼工具-Securimage6. 用Spring JMS使異步消息變得簡(jiǎn)單7. 通過(guò)實(shí)例解析Python文件操作實(shí)現(xiàn)步驟8. Python3 json模塊之編碼解碼方法講解9. Python 制作查詢商品歷史價(jià)格的小工具10. Python 解析庫(kù)json及jsonpath pickle的實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備