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