在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ GO/ 9 安全與加密
7 文本處理
3 Web基礎(chǔ)
14 擴(kuò)展Web框架
10.4 小結(jié)
2.2 Go基礎(chǔ)
2.8 總結(jié)
6.1 session和cookie
5.5 使用beedb庫(kù)進(jìn)行ORM開(kāi)發(fā)
8.3 REST
13.6 小結(jié)
5.4 使用PostgreSQL數(shù)據(jù)庫(kù)
14.6 pprof支持
14.1 靜態(tài)文件支持
11.2 使用GDB調(diào)試
7.7 小結(jié)
1 GO環(huán)境配置
14.5 多語(yǔ)言支持
7.1 XML處理
1.5 總結(jié)
13 如何設(shè)計(jì)一個(gè)Web框架
14.3 表單及驗(yàn)證支持
12 部署與維護(hù)
10 國(guó)際化和本地化
1.1 Go 安裝
6.2 Go如何使用session
5.6 NOSQL數(shù)據(jù)庫(kù)操作
6.5 小結(jié)
9.4 避免SQL注入
12.1 應(yīng)用日志
4.2 驗(yàn)證表單的輸入
10.1 設(shè)置默認(rèn)地區(qū)
1.3 Go 命令
9.6 加密和解密數(shù)據(jù)
4.1 處理表單的輸入
4.4 防止多次遞交表單
11.3 Go怎么寫(xiě)測(cè)試用例
8 Web服務(wù)
12.3 應(yīng)用部署
5.7 小結(jié)
12.5 小結(jié)
11 錯(cuò)誤處理,調(diào)試和測(cè)試
9.2 確保輸入過(guò)濾
14.2 Session支持
6.4 預(yù)防session劫持
12.4 備份和恢復(fù)
8.1 Socket編程
13.1 項(xiàng)目規(guī)劃
13.4 日志和配置設(shè)計(jì)
7.6 字符串處理
13.2 自定義路由器設(shè)計(jì)
6.3 session存儲(chǔ)
3.4 Go的http包詳解
8.2 WebSocket
10.3 國(guó)際化站點(diǎn)
7.5 文件操作
7.4 模板處理
9.1 預(yù)防CSRF攻擊
13.3 controller設(shè)計(jì)
2.6 interface
14.4 用戶(hù)認(rèn)證
2.3 流程和函數(shù)
附錄A 參考資料
11.1 錯(cuò)誤處理
9.5 存儲(chǔ)密碼
9.3 避免XSS攻擊
12.2 網(wǎng)站錯(cuò)誤處理
6 session和數(shù)據(jù)存儲(chǔ)
2.4 struct類(lèi)型
3.3 Go如何使得Web工作
2.5 面向?qū)ο?/span>
3.1 Web工作方式
1.2 GOPATH與工作空間
2.1 你好,Go
9.7 小結(jié)
13.5 實(shí)現(xiàn)博客的增刪改
7.2 JSON處理
10.2 本地化資源
7.3 正則處理
2 Go語(yǔ)言基礎(chǔ)
5.1 database/sql接口
4.5 處理文件上傳
8.5 小結(jié)
4.3 預(yù)防跨站腳本
5.3 使用SQLite數(shù)據(jù)庫(kù)
14.7 小結(jié)
3.2 Go搭建一個(gè)Web服務(wù)器
2.7 并發(fā)
5 訪問(wèn)數(shù)據(jù)庫(kù)
4 表單
3.5 小結(jié)
1.4 Go開(kāi)發(fā)工具
11.4 小結(jié)
9 安全與加密
5.2 使用MySQL數(shù)據(jù)庫(kù)
4.6 小結(jié)
8.4 RPC

9 安全與加密

無(wú)論是開(kāi)發(fā)Web應(yīng)用的開(kāi)發(fā)者還是企圖利用Web應(yīng)用漏洞的攻擊者,對(duì)于Web程序安全這個(gè)話(huà)題都給予了越來(lái)越多的關(guān)注。特別是最近CSDN密碼泄露事件,更是讓我們對(duì)Web安全這個(gè)話(huà)題更加重視,所有人都談密碼色變,都開(kāi)始檢測(cè)自己的系統(tǒng)是否存在漏洞。那么我們作為一名Go程序的開(kāi)發(fā)者,一定也需要知道我們的應(yīng)用程序隨時(shí)會(huì)成為眾多攻擊者的目標(biāo),并提前做好防范的準(zhǔn)備。

很多Web應(yīng)用程序中的安全問(wèn)題都是由于輕信了第三方提供的數(shù)據(jù)造成的。比如對(duì)于用戶(hù)的輸入數(shù)據(jù),在對(duì)其進(jìn)行驗(yàn)證之前都應(yīng)該將其視為不安全的數(shù)據(jù)。如果直接把這些不安全的數(shù)據(jù)輸出到客戶(hù)端,就可能造成跨站腳本攻擊(XSS)的問(wèn)題。如果把不安全的數(shù)據(jù)用于數(shù)據(jù)庫(kù)查詢(xún),那么就可能造成SQL注入問(wèn)題,我們將會(huì)在9.3、9.4小節(jié)介紹如何避免這些問(wèn)題。

在使用第三方提供的數(shù)據(jù),包括用戶(hù)提供的數(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ù)擾亂我們稱(chēng)為單向加密或者散列算法。另外還有一種雙向加密方式,也就是可以對(duì)加密后的數(shù)據(jù)進(jìn)行解密。我們將會(huì)在9.6小節(jié)介紹如何實(shí)現(xiàn)這種雙向加密方式。

目錄

http://wiki.jikexueyuan.com/project/go-web-programming/images/navi9.png" alt="" />

上一篇:8.2 WebSocket下一篇:9.4 避免SQL注入