總則

絕對安全的系統(tǒng)是不存在的,因此安全業(yè)界常用的方法有助于平衡可用性和風險。對用戶提交的每一個變量都進行雙重驗證可能是一個很負責任的行為,但會導致用戶必須花很多時間去填寫一張復雜無比的表格,從而迫使某些用戶嘗試繞過安全機制。

最好的安全機制應該能在不防礙用戶,并且不過多地增加開發(fā)難度的情況下做到能滿足需求。實際上,一些安全問題往往會發(fā)生在這種過度強化安全機制的系統(tǒng)上。

不要忘記著名的等強原則:一個系統(tǒng)的的強度是由它最薄弱的環(huán)節(jié)決定的(譯者注:相當于木桶原理)。如果所有的事務都基于時間、地點、事務種類進行詳細的記錄,而用戶驗證卻只依靠一個 cookie,那么用戶所對應的事務記錄的可信度就被大大剝弱了。

調試代碼的時候一定要記住,就算是一個簡單的頁面也很難對所有可能發(fā)生的情況進行檢測:對你不滿的雇員不一定會輸入如你所愿的東西,黑客也有足夠的時間研究你的系統(tǒng),當然,你的寵物貓也會跳到你的鍵盤上。這就是為什么必須檢查所有的代碼,去發(fā)現哪里可以引入不正當的數據,然后對代碼改進、簡化或者增強。

互聯網上充滿了為了成名而破壞你的代碼、攻擊你的網站并輸入不正當數據的人,總之他們會使你的生活充滿樂趣。無論是大網站還是小網站,只要能和互聯網連接,就會成為一個目標。很多黑客程序并不理會網站的大小,只會機械地掃描 IP 地址并找尋受害者。我們希望那個不要是你。