PHP安全-跟蹤數(shù)據(jù)
跟蹤數(shù)據(jù)
作為一個有安全意識的開發(fā)者,最重要的一件事就是隨時跟蹤數(shù)據(jù)。不只是要知道它是什么和它在哪里,還要知道它從哪里來,要到哪里去。有時候要做到這些是困難的,特別是當你對WEB的運做原理沒有深入理解時。這也就是為什么盡管有些開發(fā)者在其它開發(fā)環(huán)境中很有經(jīng)驗,但他對WEB不是很有經(jīng)驗時,經(jīng)常會犯錯并制造安全漏洞。
大多數(shù)人在讀取EMAIL時,一般不會被題為'Re: Hello'之類的垃圾郵件所欺騙,因為他們知道,這個看起來像回復的主題是能被偽造的。因此,這封郵件不一定是對前一封主題為'Hello.'的郵件的回復。簡而言之,人們知道不能對這個主題不能太信任。但是很少有人意識到發(fā)件人地址也能被偽造,他們錯誤地認為它能可靠地顯示這個EMAIL的來源。
Web也非常類似,我想教給大家的其中一點是如何區(qū)分可信的和不可信的數(shù)據(jù)。做到這一點常常是不容易的,盲目的猜測并不是辦法。
PHP通過超級全局數(shù)組如$_GET, $_POST, 及$_COOKIE清楚地表示了用戶數(shù)據(jù)的來源。一個嚴格的命名體系能保證你在程序代碼的任何部分知道所有數(shù)據(jù)的來源,這也是我一直所示范和強調(diào)的。
知道數(shù)據(jù)在哪里進入你的程序是極為重要的,同時知道數(shù)據(jù)在哪里離開你的程序也很重要。例如,當你使用echo指令時,你是在向客戶端發(fā)送數(shù)據(jù);當你使用mysql_query時,你是在向MySQL數(shù)據(jù)庫發(fā)送數(shù)據(jù)(盡管你的目的可能是取數(shù)據(jù))。
在我審核PHP代碼是否有安全漏洞時,我主要檢查代碼中與外部系統(tǒng)交互的部分。這部分代碼很有可能包含安全漏洞,因此,在開發(fā)與代碼檢查時必須要加以特別仔細的注意。
相關(guān)文章:
1. Java基于redis和mysql實現(xiàn)簡單的秒殺(附demo)2. php讀取xml中某個元素的內(nèi)容(PHP5以上才支持)3. IntelliJ IDEA設(shè)置編碼格式的方法4. 如何用python識別滑塊驗證碼中的缺口5. SpringBoot+SpringCache實現(xiàn)兩級緩存(Redis+Caffeine)6. IDEA SpringBoot 項目配置Swagger2的詳細教程7. Kotlin + Flow 實現(xiàn)Android 應用初始化任務啟動庫8. Docker究竟是什么 為什么這么流行 它的優(yōu)點和缺陷有哪些?9. ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解10. AJAX實現(xiàn)省市縣三級聯(lián)動效果
