PHP安全-簡單就是美
簡單就是美
復(fù)雜滋生錯誤,錯誤能導(dǎo)致安全漏洞。這個簡單的事實說明了為什么簡單對于一個安全的應(yīng)用來說是多么重要。沒有必要的復(fù)雜與沒有必要的風(fēng)險一樣糟糕。
例如,下面的代碼摘自一個最近的安全漏洞通告:
CODE:
<?php
$search = (isset($_GET[’search’]) ? $_GET[’search’] : ’’);
?>
這個流程會混淆$search變量受污染*的事實,特別是對于缺乏經(jīng)驗的開發(fā)者而言。上面語句等價于下面的程序:
CODE:
<?php
$search = ’’;
if (isset($_GET[’search’]))
{
$search = $_GET[’search’];
}
?>
上面的兩個處理流程是完全相同的?,F(xiàn)在請注意一下下面的語句:
$search = $_GET[’search’];
使用這一語句,在不影響流程的情況下,保證了$search變量的狀態(tài)維持原樣,同時還可以看出它是否受污染。
* 譯注:受污染變量,即在程序執(zhí)行過程中,該變量的值不是由賦值語句直接指定值,而是來自其它來源,如控制臺錄入、數(shù)據(jù)庫等。
相關(guān)文章:
