本書為教育部信息化新核心課程(NCC)融媒體專業(yè)系列教材,從前端、通信及服務(wù)器端這3個(gè)方面對(duì)H5開發(fā)中的安全技術(shù)和技巧進(jìn)行介紹。
本書共3篇,第1篇主要介紹在H5應(yīng)用前端開發(fā)中對(duì)用戶輸入信息進(jìn)行驗(yàn)證的方法;第2篇主要介紹H5應(yīng)用通信方面的安全防護(hù)技術(shù);第3篇主要介紹H5應(yīng)用服務(wù)器端的安全防護(hù)技術(shù),并結(jié)合兩個(gè)實(shí)例對(duì)H5應(yīng)用的安全防護(hù)進(jìn)行整體介紹。
本書適合作為高校教材,供計(jì)算機(jī)、軟件工程、信息安全、網(wǎng)絡(luò)安全、通信工程、大數(shù)據(jù)等相關(guān)專業(yè)的師生閱讀。此外,本書也適合從事開發(fā)工作的讀者閱讀,以提高其安全開發(fā)技術(shù)水平。
1.本書從前端、通訊和服務(wù)器端三個(gè)方面,系統(tǒng)講解了如何進(jìn)行安全開發(fā)。
2.內(nèi)容包含了很多常見的和我們可能不太注意的細(xì)節(jié),以及安全規(guī)范,學(xué)習(xí)本書能幫我們樹立起安全開發(fā)意識(shí),掌握一定的安全開發(fā)技術(shù)。
3.本書的寫作結(jié)構(gòu)獨(dú)特,將理論、經(jīng)驗(yàn)、實(shí)例融為一體,便于教學(xué)、自學(xué)使用,實(shí)用性強(qiáng)。
4.教材實(shí)例豐富,語言通俗易懂。
趙宇 首都經(jīng)濟(jì)貿(mào)易大學(xué)信息處高級(jí)工程師,長期從事信息化建設(shè)與安全運(yùn)維工作,先后做過網(wǎng)絡(luò)建設(shè)、運(yùn)維、安全防護(hù),以及開發(fā)、設(shè)計(jì)、項(xiàng)目管理等工作,具有豐富的管理經(jīng)驗(yàn)和實(shí)戰(zhàn)經(jīng)驗(yàn)。
001 緒論
001 0.1 H5安全簡介
001 0.1.1 什么是H5
003 0.1.2 H5面臨的安全威脅
007 0.1.3 H5開發(fā)中常見的安全問題
007 0.2 如何開發(fā)相對(duì)安全的H5應(yīng)用
007 0.2.1 H5應(yīng)用構(gòu)架安全分析
008 0.2.2 H5應(yīng)用設(shè)計(jì)和開發(fā)的安全原則
010 0.2.3 H5安全開發(fā)中的代碼調(diào)試與程序測試
013 0.2.4 H5代碼編寫規(guī)范
016 第1篇 獻(xiàn)給雅典娜的木馬——前端安全防護(hù)
017 第1章 H5輸入安全
018 1.1 H5前端安全
018 1.1.1 HTML5與安全
019 1.1.2 CSS與安全
022 1.1.3 JavaScript與安全
027 1.1.4 H5輸入安全驗(yàn)證
027 1.2 利用input標(biāo)簽屬性的安全驗(yàn)證
029 1.2.1 利用autocomplete屬性防止隱私泄露
031 1.2.2 利用required屬性對(duì)輸入信息進(jìn)行非空核查
033 1.2.3 利用type屬性對(duì)輸入信息進(jìn)行驗(yàn)證
036 1.2.4 利用正則表達(dá)式對(duì)輸入信息進(jìn)行驗(yàn)證
041 1.2.5 利用file屬性對(duì)文件上傳進(jìn)行防護(hù)
045 1.3 利用form標(biāo)簽作為阻塞點(diǎn)進(jìn)行安全防護(hù)
047 1.4 利用鍵盤輸入操作進(jìn)行安全防護(hù)
047 1.4.1 鍵盤事件簡介
052 1.4.2 鍵盤輸入安全驗(yàn)證
053 1.5 輸入安全防護(hù)實(shí)例
053 1.5.1 允許多種類信息輸入的防護(hù)實(shí)例
056 1.5.2 雙因子認(rèn)證防護(hù)實(shí)例
063 第2章 H5頁面設(shè)計(jì)安全
064 2.1 用戶與安全
064 2.1.1 用戶權(quán)限的安全
064 2.1.2 用戶輸入的安全
065 2.1.3 用戶操作的安全
065 2.2 基于安全的頁面設(shè)計(jì)原則
066 2.2.1 信息反饋原則
070 2.2.2 預(yù)防錯(cuò)誤原則
078 2.2.3 允許后悔原則
079 2.2.4 輸入輔助性原則
084 2.2.5 保持一致原則
085 2.2.6 普遍可用性原則
086 2.3 頁面自適應(yīng)
086 2.3.1 屏幕自適應(yīng)
089 2.3.2 瀏覽器自適應(yīng)
093 2.3.3 頁面自適應(yīng)
097 2.4 易用的表格
097 2.4.1 表格設(shè)計(jì)對(duì)閱讀的影響
103 2.4.2 第三方代碼的安全
105 第2篇 “宮門倒”的秘密——通信安全防護(hù)
106 第3章 H5通信交互
106 3.1 網(wǎng)絡(luò)通信協(xié)議
107 3.1.1 HTTP與HTTPS
109 3.1.2 SSL協(xié)議與SSL證書
112 3.1.3 WebSocket協(xié)議
113 3.2 數(shù)據(jù)通信應(yīng)用
113 3.2.1 利用form標(biāo)簽的method屬性進(jìn)行數(shù)據(jù)通信
116 3.2.2 利用偽實(shí)時(shí)方式——AJAX進(jìn)行數(shù)據(jù)通信
121 3.2.3 利用實(shí)時(shí)方式——WebSocket進(jìn)行數(shù)據(jù)通信
132 3.2.4 利用短信、郵件進(jìn)行登錄驗(yàn)證
143 第4章 H5用戶狀態(tài)保持的安全
144 4.1 cookie
144 4.1.1 初識(shí)cookie
150 4.1.2 cookie安全防護(hù)
151 4.2 session
151 4.2.1 初識(shí)session
157 4.2.2 session安全防護(hù)
157 4.3 WebStorage
158 4.3.1 localStorage
165 4.3.2 sessionStorage
170 第3篇 溫泉關(guān)的牧羊古道——服務(wù)器端安全防護(hù)
171 第5章 服務(wù)器構(gòu)架與安全
172 5.1 WAMP構(gòu)架
173 5.1.1 軟件安裝
177 5.1.2 WAMP的服務(wù)配置
186 5.2 LNMP構(gòu)架
186 5.2.1 Linux操作系統(tǒng)的安裝
190 5.2.2 MariaDB的安裝
192 5.2.3 PHP的安裝
195 5.2.4 nginx的安裝
204 5.2.5 LNMP的安全升級(jí)和加固
211 第6章 服務(wù)器端的應(yīng)用安全防護(hù)
211 6.1 針對(duì)SQL注入漏洞的安全防護(hù)
212 6.1.1 SQL注入漏洞示例
216 6.1.2 針對(duì)SQL注入漏洞的前端安全防護(hù)
219 6.1.3 針對(duì)SQL注入漏洞的服務(wù)器端安全防護(hù)
223 6.2 針對(duì)上傳文件的安全防護(hù)
223 6.2.1 上傳文件的信息獲取
225 6.2.2 針對(duì)上傳文件的前端安全防護(hù)
232 6.2.3 針對(duì)上傳文件的服務(wù)器端安全防護(hù)