W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
無論是開發(fā)Web應用的開發(fā)者還是企圖利用Web應用漏洞的攻擊者,對于Web程序安全這個話題都給予了越來越多的關注。特別是最近CSDN密碼泄露事件,更是讓我們對Web安全這個話題更加重視,所有人都談密碼色變,都開始檢測自己的系統(tǒng)是否存在漏洞。那么我們作為一名Go程序的開發(fā)者,一定也需要知道我們的應用程序隨時會成為眾多攻擊者的目標,并提前做好防范的準備。
很多Web應用程序中的安全問題都是由于輕信了第三方提供的數(shù)據(jù)造成的。比如對于用戶的輸入數(shù)據(jù),在對其進行驗證之前都應該將其視為不安全的數(shù)據(jù)。如果直接把這些不安全的數(shù)據(jù)輸出到客戶端,就可能造成跨站腳本攻擊(XSS)的問題。如果把不安全的數(shù)據(jù)用于數(shù)據(jù)庫查詢,那么就可能造成SQL注入問題,我們將會在9.3、9.4小節(jié)介紹如何避免這些問題。
在使用第三方提供的數(shù)據(jù),包括用戶提供的數(shù)據(jù)時,首先檢驗這些數(shù)據(jù)的合法性非常重要,這個過程叫做過濾,我們將在9.2小節(jié)介紹如何保證對所有輸入的數(shù)據(jù)進行過濾處理。
過濾輸入和轉義輸出并不能解決所有的安全問題,我們將會在9.1講解的CSRF攻擊,會導致受騙者發(fā)送攻擊者指定的請求從而造成一些破壞。
與安全加密相關的,能夠增強我們的Web應用程序的強大手段就是加密,CSDN泄密事件就是因為密碼保存的是明文,使得攻擊拿手庫之后就可以直接實施一些破壞行為了。不過,和其他工具一樣,加密手段也必須運用得當。我們將在9.5小節(jié)介紹如何存儲密碼,如何讓密碼存儲的安全。
加密的本質就是擾亂數(shù)據(jù),某些不可恢復的數(shù)據(jù)擾亂我們稱為單向加密或者散列算法。另外還有一種雙向加密方式,也就是可以對加密后的數(shù)據(jù)進行解密。我們將會在9.6小節(jié)介紹如何實現(xiàn)這種雙向加密方式。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: