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