PHP安全-簡單就是美
簡單就是美
復(fù)雜滋生錯(cuò)誤,錯(cuò)誤能導(dǎo)致安全漏洞。這個(gè)簡單的事實(shí)說明了為什么簡單對(duì)于一個(gè)安全的應(yīng)用來說是多么重要。沒有必要的復(fù)雜與沒有必要的風(fēng)險(xiǎn)一樣糟糕。
例如,下面的代碼摘自一個(gè)最近的安全漏洞通告:
CODE:
<?php
$search = (isset($_GET[’search’]) ? $_GET[’search’] : ’’);
?>
這個(gè)流程會(huì)混淆$search變量受污染*的事實(shí),特別是對(duì)于缺乏經(jīng)驗(yàn)的開發(fā)者而言。上面語句等價(jià)于下面的程序:
CODE:
<?php
$search = ’’;
if (isset($_GET[’search’]))
{
$search = $_GET[’search’];
}
?>
上面的兩個(gè)處理流程是完全相同的。現(xiàn)在請(qǐng)注意一下下面的語句:
$search = $_GET[’search’];
使用這一語句,在不影響流程的情況下,保證了$search變量的狀態(tài)維持原樣,同時(shí)還可以看出它是否受污染。
* 譯注:受污染變量,即在程序執(zhí)行過程中,該變量的值不是由賦值語句直接指定值,而是來自其它來源,如控制臺(tái)錄入、數(shù)據(jù)庫等。
相關(guān)文章:
1. 如何在.net6webapi中使用自動(dòng)依賴注入2. 使用JSP實(shí)現(xiàn)簡單的用戶登錄注冊(cè)頁面示例代碼解析3. VUE使用ElementUI下拉框 @change事件數(shù)據(jù)不回顯問題4. 5個(gè)HTML5的常用本地存儲(chǔ)方式詳解與介紹5. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(二)6. Python如何對(duì)XML 解析7. JSP中out對(duì)象的實(shí)例詳解8. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁9. Ajax實(shí)現(xiàn)頁面無刷新留言效果10. vue頁面設(shè)置滾動(dòng)失敗的完美解決方案(scrollTop一直為0)
