作為一個有安全意識的開發者,最重要的一件事就是隨時追蹤數據。不只是要知道它是什麼和它在哪裡,還要知道它從哪裡來,要到哪裡去。有時候要做到這些是困難的,特別是當你對WEB的運作原理沒有深入理解時。這也就是為什麼儘管有些開發者在其它開發環境中很有經驗,但他對WEB不是很有經驗時,經常會犯錯並製造安全漏洞。
大多數人閱讀EMAIL時,一般不會被題為"Re: Hello"之類的垃圾郵件所欺騙,因為他們知道,這個看起來像回复的主題是能被偽造的。因此,這封郵件不一定是對前一封主題為"Hello."的郵件的回复。簡而言之,人們知道不能對這個主題不能太信任。
Web也非常類似,我想教大家的其中一點是如何區分可信的和不可信的數據。做到這一點常常是不容易的,盲目的猜測並不是辦法。PHP透過超級全域數組如$_GET, $_POST, 及$_COOKIE清楚地表示了用戶資料的來源。嚴格的命名系統能保證你在程式碼的任何部分知道所有資料的來源,這也是我一直在示範和強調的。
知道資料在哪裡進入你的程式是極為重要的,同時知道資料在哪裡離開你的程式也很重要。例如,當你使用echo指令時,你是在向客戶端發送資料;當你使用mysql_query時,你是在向MySQL資料庫發送資料(儘管你的目的可能是取資料)。
當我審核PHP程式碼是否有安全漏洞時,我主要檢查程式碼中與外部系統互動的部分。這部分程式碼很有可能包含安全漏洞,因此,在開發與程式碼檢查時必須要特別仔細的注意。
以上就是PHP安全-追蹤資料的內容,更多相關內容請關注PHP中文網(www.php.cn)!