当前位置:首页 > 网站建设 > 正文内容

Web安全开发指南 PDF电子版书籍

7个月前 (10-09)网站建设285


本书分为 5 大部分,共 17 章,详细介绍了 Web 安全开发的必备知识,旨在让前端开发人员、设计师、产品经理等前端开发相关人士了解新形势下的安全技能,涉及从最新的智能手机到老旧的台式计算机等各种设备,并且不限定平台。

具体内容包括 :制订安全计划,运用成功的编码实践,创建有用及高效的测试策略,实现维护周期,查找安全资源。

本书适合所有 Web 开发领域的专业人士阅读。

目录

前言.........................................................................................................................................................xv

第一部分 制订安全计划

第 1 章 定义应用环境 .......................................................................................................................2

1.1 明确 Web 应用威胁 ...................................................................................................................3

1.2 理解软件安全保障 .....................................................................................................................6

1.2.1 考虑 OSSAP ...................................................................................................................7

1.2.2 定义 SSA 的要求 ...........................................................................................................8

1.2.3 对数据和资源分类 ........................................................................................................9

1.2.4 进行必要的分析 ............................................................................................................9

1.3 探究与语言相关的问题 ...........................................................................................................12

1.3.1 定义 HTML 的关键问题 .............................................................................................12

1.3.2 定义 CSS 的关键问题 .................................................................................................13

1.3.3 定义 JavaScript 的关键问题 ........................................................................................13

1.4 考虑端点的防御要素 ...............................................................................................................14

1.4.1 预防安全漏洞 ..............................................................................................................14

1.4.2 检测安全漏洞 ..............................................................................................................15

1.4.3 修复受损的软件 ..........................................................................................................16

1.5 处理云存储 ...............................................................................................................................16

1.6 使用外部代码和资源 ...............................................................................................................17

1.6.1 定义库的使用 ..............................................................................................................18

vi | 目录

1.6.2 定义 API 的使用 ..........................................................................................................19

1.6.3 定义微服务的使用 ......................................................................................................20

1.6.4 访问外部数据 ..............................................................................................................21

1.7 允许他人访问 ...........................................................................................................................22

第 2 章 迎合用户需求与期望........................................................................................................24

2.1 从用户的视角看待应用程序 ...................................................................................................24

2.2 考虑自带设备的问题 ...............................................................................................................25

2.2.1 理解基于 Web 的应用程序的安全性 .........................................................................26

2.2.2 考虑原生应用的问题 ..................................................................................................27

2.2.3 使用定制化浏览器 ......................................................................................................27

2.2.4 验证代码兼容性问题 ..................................................................................................29

2.2.5 处理几乎连续的设备更新 ..........................................................................................31

2.3 设计密码的可选方案 ...............................................................................................................32

2.3.1 使用口令 ......................................................................................................................33

2.3.2 使用生物识别的方案 ..................................................................................................33

2.3.3 依靠钥匙卡 ..................................................................................................................35

2.3.4 依靠 USB key ...............................................................................................................36

2.3.5 实现令牌策略 ..............................................................................................................36

2.4 聚焦用户期望 ...........................................................................................................................37

2.4.1 让应用程序易于使用 ..................................................................................................37

2.4.2 让应用程序快速运行 ..................................................................................................37

2.4.3 创建可靠的环境 ..........................................................................................................38

2.4.4 客观看待安全性 ..........................................................................................................38

第 3 章 获取第三方帮助 ................................................................................................................39

3.1 发现第三方安全解决方案 .......................................................................................................39

3.2 考虑云安全方案 .......................................................................................................................41

3.2.1 理解数据仓库 ..............................................................................................................42

3.2.2 处理文件共享问题 ......................................................................................................43

3.2.3 考虑云存储 ..................................................................................................................46

3.3 选择产品类型 ...........................................................................................................................47

3.3.1 使用库 ..........................................................................................................................47

3.3.2 访问 API .......................................................................................................................48

3.3.3 考虑微服务 ..................................................................................................................49

目录 | vii

第二部分 运用成功的编码实践

第 4 章 开发成功的界面 ................................................................................................................52

4.1 评估 UI......................................................................................................................................53

4.1.1 创建简洁的界面 ..........................................................................................................53

4.1.2 使界面灵活 ..................................................................................................................56

4.1.3 提供辅助功能 ..............................................................................................................58

4.1.4 定义可访问性问题 ......................................................................................................59

4.2 提供受控制的选择 ...................................................................................................................61

4.3 选择 UI 的解决方案级别.........................................................................................................65

4.3.1 实现标准的 HTML 控件 .............................................................................................65

4.3.2 使用 CSS 控件 .............................................................................................................65

4.3.3 用 JavaScript 创建控件 ................................................................................................67

4.4 校验输入 ...................................................................................................................................68

4.4.1 只允许特定的输入 ......................................................................................................68

4.4.2 查找鬼祟的输入 ..........................................................................................................69

4.4.3 请求新的输入 ..............................................................................................................69

4.4.4 使用客户端和服务器端校验 ......................................................................................70

4.5 期待意外 ...................................................................................................................................71

第 5 章 构建可靠的代码 ................................................................................................................72

5.1 区分可靠性和安全性 ...............................................................................................................73

5.1.1 定义可靠性和安全性的角色 ......................................................................................73

5.1.2 避免可靠代码中的安全漏洞 ......................................................................................76

5.1.3 聚焦应用程序的功能 ..................................................................................................77

5.2 开发团队协议 ...........................................................................................................................77

5.3 创建经验教训的反馈回路 .......................................................................................................80

5.4 考虑成套解决方案的问题 .......................................................................................................81

5.4.1 处理外部库 ..................................................................................................................82

5.4.2 处理外部 API ...............................................................................................................83

5.4.3 使用框架 ......................................................................................................................85

5.4.4 调用微服务 ..................................................................................................................87

第 6 章 包含库 ..................................................................................................................................88

6.1 考虑库的使用 ...........................................................................................................................89

6.1.1 用库增强 CSS ..............................................................................................................89

viii | 目录

6.1.2 用库与 HTML 交互 .....................................................................................................91

6.1.3 用库扩展 JavaScript .....................................................................................................93

6.2 区分内部存储库和外部存储库 ...............................................................................................95

6.3 定义库带来的安全威胁 ...........................................................................................................95

6.3.1 启用严格模式 ..............................................................................................................97

6.3.2 开发 CSP ......................................................................................................................99

6.4 安全地包含库 .........................................................................................................................100

6.4.1 充分研究库 ................................................................................................................101

6.4.2 精确定义库的使用 ....................................................................................................101

6.4.3 保持库的小规模和内容聚焦 ....................................................................................101

6.4.4 执行必需的测试 ........................................................................................................102

6.5 区分库和框架 .........................................................................................................................103

第 7 章 慎用 API ............................................................................................................................105

7.1 区分 API 和库 ........................................................................................................................106

7.1.1 考虑流行速度上的差异 ............................................................................................106

7.1.2 区分用法上的差异 ....................................................................................................107

7.2 用 API 扩展 JavaScript ...........................................................................................................108

7.2.1 定位合适的 API .........................................................................................................108

7.2.2 创建简单示例 ............................................................................................................109

7.3 定义 API 带来的安全威胁 ....................................................................................................113

7.3.1 MailPoet 毁了你的好声誉 ......................................................................................... 113

7.3.2 开发阅后即焚的图片 ................................................................................................ 114

7.3.3 使用“找回我的 iPhone”却丢了手机 .................................................................... 114

7.3.4 Heartbleed 泄露你最重要的信息 .............................................................................. 115

7.3.5 遭受 Shellshock 攻击 ................................................................................................. 115

7.4 通过 JavaScript 安全访问 API ...............................................................................................116

7.4.1 验证 API 的安全性 .................................................................................................... 116

7.4.2 测试输入和输出 ........................................................................................................ 117

7.4.3 保持数据的局部性和安全性 .................................................................................... 117

7.4.4 防御性编码 ................................................................................................................ 117

第 8 章 考虑使用微服务 ..............................................................................................................118

8.1 定义微服务 .............................................................................................................................119

8.1.1 详述微服务的特点 .................................................................................................... 119

8.1.2 区分微服务与库 ........................................................................................................120

8.1.3 区分微服务与 API .....................................................................................................120

目录 | ix

8.1.4 考虑微服务的策略 ....................................................................................................120

8.2 用 JavaScript 调用微服务 ......................................................................................................121

8.2.1 理解通信中 REST 的角色.........................................................................................122

8.2.2 用 JSON 传输数据 .....................................................................................................123

8.2.3 用 Node.js 和 Seneca 创建微服务 .............................................................................124

8.3 定义微服务带来的安全威胁 .................................................................................................126

8.3.1 缺少一致性 ................................................................................................................126

8.3.2 考虑虚拟机的角色 ....................................................................................................126

8.3.3 使用 JSON 进行数据传输 .........................................................................................127

8.3.4 定义传输层的安全 ....................................................................................................128

8.4 创建可替换的微服务路径 .....................................................................................................129

第三部分 创建有用及高效的测试策略

第 9 章 像黑客一样思考 ..............................................................................................................132

9.1 定义 Web 安全扫描的需求 ...................................................................................................132

9.2 构建测试系统 .........................................................................................................................136

9.2.1 考虑测试系统的使用 ................................................................................................136

9.2.2 接受必需的训练 ........................................................................................................136

9.2.3 创建正确的环境 ........................................................................................................137

9.2.4 使用虚拟机 ................................................................................................................137

9.2.5 获取工具 ....................................................................................................................138

9.2.6 配置系统 ....................................................................................................................138

9.2.7 恢复系统 ....................................................................................................................139

9.3 定义最常见的漏洞源 .............................................................................................................139

9.3.1 避免 SQL 注入攻击 ...................................................................................................140

9.3.2 理解跨站脚本攻击 ....................................................................................................141

9.3.3 解决拒绝服务攻击问题 ............................................................................................142

9.3.4 去除可预测的资源定位 ............................................................................................142

9.3.5 克服无意的信息泄露 ................................................................................................143

9.4 在 BYOD 环境中进行测试....................................................................................................143

9.4.1 配置远程访问区域 ....................................................................................................144

9.4.2 检查跨应用程序的攻击 ............................................................................................144

9.4.3 处理真正古老的设备和软件 ....................................................................................145

9.5 依靠用户测试 .........................................................................................................................145

x | 目录

9.5.1 让用户横冲直撞 ........................................................................................................146

9.5.2 开发可重现的步骤 ....................................................................................................147

9.5.3 让用户发声 ................................................................................................................147

9.6 使用外部的安全测试人员 .....................................................................................................148

9.6.1 考虑渗透测试公司 ....................................................................................................148

9.6.2 管理项目 ....................................................................................................................149

9.6.3 覆盖要点 ....................................................................................................................149

9.6.4 获取报告 ....................................................................................................................149

第 10 章 创建 API 安全区域 .......................................................................................................151

10.1 理解 API 安全区域的概念 ..................................................................................................152

10.2 定义 API 安全区域的需求 ..................................................................................................153

10.2.1 确保 API 可以工作 ................................................................................................153

10.2.2 实现快速开发 .........................................................................................................153

10.2.3 证明最佳的集成 .....................................................................................................154

10.2.4 在负载情况下验证 API 的表现 ............................................................................158

10.2.5 使 API 远离黑客 ....................................................................................................159

10.3 用 API 沙盒进行开发 ..........................................................................................................159

10.3.1 使用现成的解决方案 .............................................................................................161

10.3.2 使用其他供应商的沙盒 .........................................................................................162

10.4 考虑虚拟环境 .......................................................................................................................164

10.4.1 定义虚拟环境 .........................................................................................................164

10.4.2 区分虚拟环境和沙盒 .............................................................................................164

10.4.3 实现虚拟化 .............................................................................................................165

10.4.4 依靠应用程序虚拟化 .............................................................................................165

第 11 章 检查库和 API 的漏洞...................................................................................................167

11.1 创建测试计划 .......................................................................................................................168

11.1.1 考虑目的和目标 .....................................................................................................168

11.1.2 测试内部库 .............................................................................................................175

11.1.3 测试内部 API..........................................................................................................175

11.1.4 测试外部库 .............................................................................................................175

11.1.5 测试外部 API..........................................................................................................176

11.1.6 扩展测试到微服务 .................................................................................................176

11.2 单独测试库和 API ...............................................................................................................177

11.2.1 为库创建测试框架 .................................................................................................177

目录 | xi

11.2.2 为 API 创建测试脚本.............................................................................................178

11.2.3 将测试策略扩展到微服务 .....................................................................................178

11.2.4 开发响应策略 .........................................................................................................178

11.3 执行集成测试 .......................................................................................................................179

11.4 测试与语言相关的问题 .......................................................................................................180

11.4.1 设计针对 HTML 问题的测试 ................................................................................180

11.4.2 设计针对 CSS 问题的测试 ....................................................................................181

11.4.3 设计针对 JavaScript 问题的测试 ..........................................................................181

第 12 章 使用第三方测试 ............................................................................................................184

12.1 找到第三方测试服务 ...........................................................................................................185

12.1.1 定义聘请第三方的理由 .........................................................................................185

12.1.2 考虑测试服务的范围 .............................................................................................186

12.1.3 确保第三方是合法的 .............................................................................................188

12.1.4 面试第三方 .............................................................................................................188

12.1.5 对测试的搭建进行测试 .........................................................................................188

12.2 创建测试计划 .......................................................................................................................189

12.2.1 指明第三方在测试中的目的 .................................................................................189

12.2.2 创建书面的测试计划 .............................................................................................189

12.2.3 枚举测试输出和报告的要求 .................................................................................190

12.2.4 考虑测试需求 .........................................................................................................190

12.3 实施测试计划 .......................................................................................................................190

12.3.1 确定公司参与测试的程度 .....................................................................................191

12.3.2 开始测试过程 .........................................................................................................191

12.3.3 执行必需的测试监控 .............................................................................................191

12.3.4 处理意外的测试问题 .............................................................................................192

12.4 使用结果报告 .......................................................................................................................192

12.4.1 与第三方讨论报告输出 .........................................................................................192

12.4.2 向公司展示报告 .....................................................................................................193

12.4.3 根据测试建议采取行动 .........................................................................................193

第四部分 实现维护周期

第 13 章 明确定义升级周期 .......................................................................................................196

13.1 制订详细的升级周期计划 ...................................................................................................196

xii | 目录

13.1.1 寻找升级 .................................................................................................................198

13.1.2 确定升级的要求 .....................................................................................................198

13.1.3 定义升级的临界点 .................................................................................................200

13.1.4 检查升级的问题 .....................................................................................................201

13.1.5 创建测试场景 .........................................................................................................202

13.1.6 实施变更 .................................................................................................................203

13.2 制订升级测试计划 ...............................................................................................................203

13.2.1 执行所需的预测试 .................................................................................................204

13.2.2 执行所需的集成测试 .............................................................................................204

13.3 将升级移到生产环境 ...........................................................................................................205

第 14 章 考虑更新选项 ................................................................................................................207

14.1 区分升级和更新 ...................................................................................................................208

14.2 确定何时更新 .......................................................................................................................209

14.2.1 处理库的更新 .........................................................................................................209

14.2.2 处理 API 和微服务的更新 ....................................................................................210

14.2.3 接受自动更新 ......................................................................................................... 211

14.3 更新语言套件 .......................................................................................................................212

14.3.1 创建语言支持清单 .................................................................................................212

14.3.2 获得可靠的语言专家 .............................................................................................213

14.3.3 验证与语言相关的提示符能否在应用程序中起效 .............................................214

14.3.4 确保数据以正确的格式呈现 .................................................................................214

14.3.5 定义语言支持测试的特殊要求 .............................................................................214

14.4 执行紧急更新 .......................................................................................................................215

14.4.1 尽可能避免紧急情况 .............................................................................................215

14.4.2 组建快速响应团队 .................................................................................................215

14.4.3 执行简化的测试 .....................................................................................................216

14.4.4 制订持久的更新计划 .............................................................................................216

14.5 制订更新测试计划 ...............................................................................................................216

第 15 章 考虑报告的需要 ............................................................................................................218

15.1 使用报告以做出改变 ...........................................................................................................219

15.1.1 避免无用的报告 .....................................................................................................219

15.1.2 安排时间为升级和更新做出报告 .........................................................................220

15.1.3 使用自动生成的报告 .............................................................................................221

15.1.4 使用定制的报告 .....................................................................................................221

目录 | xiii

15.1.5 创建一致的报告 .....................................................................................................222

15.1.6 使用报告执行特定的应用任务 .............................................................................223

15.2 创建内部报告 .......................................................................................................................223

15.2.1 确定使用哪些数据源 .............................................................................................223

15.2.2 指定报告的使用 .....................................................................................................224

15.3 依靠外部生成的报告 ...........................................................................................................225

15.3.1 从第三方获取完整的报告 .....................................................................................225

15.3.2 从原始数据创建报告 .............................................................................................225

15.3.3 保持内部数据安全 .................................................................................................225

15.4 提供用户反馈 .......................................................................................................................226

15.4.1 获取用户反馈 .........................................................................................................226

15.4.2 确定用户反馈的可用性 .........................................................................................227

第五部分 查找安全资源

第 16 章 跟踪当前的安全威胁 ...................................................................................................230

16.1 发现安全威胁信息的来源 ...................................................................................................231

16.1.1 阅读与安全相关的专业文章 .................................................................................231

16.1.2 查看安全网站 .........................................................................................................232

16.1.3 获取顾问的意见 .....................................................................................................234

16.2 避免信息泛滥 .......................................................................................................................235

16.3 为基于威胁的升级制订计划 ...............................................................................................236

16.3.1 预判不需要采取任何行动的情况 .........................................................................236

16.3.2 决定升级还是更新 .................................................................................................236

16.3.3 定义升级计划 .........................................................................................................238

16.4 为基于威胁的更新制订计划 ...............................................................................................238

16.4.1 验证更新是否可解决威胁 .....................................................................................239

16.4.2 确定威胁是否紧急 .................................................................................................240

16.4.3 定义更新计划 .........................................................................................................240

16.4.4 要求来自第三方的更新 .........................................................................................240

第 17 章 获取必需的培训 ............................................................................................................241

17.1 制订内部的安全培训计划 ...................................................................................................242

17.1.1 定义所需的培训 .....................................................................................................242

17.1.2 设置合理的目标 .....................................................................................................243

xiv | 目录

17.1.3 使用内部培训师 .....................................................................................................243

17.1.4 监控结果 .................................................................................................................244

17.2 获取第三方对开发人员的培训 ...........................................................................................245

17.2.1 指定培训的要求 .....................................................................................................246

17.2.2 为公司聘请第三方培训师 .....................................................................................247

17.2.3 使用在线学校 .........................................................................................................247

17.2.4 依靠培训中心 .........................................................................................................248

17.2.5 利用本地的学院和大学 .........................................................................................248

17.3 确保用户有安全意识 ...........................................................................................................249

17.3.1 制定专门的安全培训 .............................................................................................249

17.3.2 结合书面指南进行培训 .........................................................................................249

17.3.3 创建并使用替代的安全提醒 .................................................................................250

17.3.4 进行培训有效性检查 .............................................................................................250

关于作者 ..............................................................................................................................................251

关于封面 ..............................................................................................................................................251


2345截图20241009091243.jpg


资源下载
资源名称:Web安全开发指南 PDF电子版书籍


扫描二维码推送至手机访问。

版权声明:本文由御杆坊发布,如需转载请注明出处。

本文链接:https://www.yuganfang.com/resource/34.html

标签: Web安全
分享给朋友:

“Web安全开发指南 PDF电子版书籍” 的相关文章

Web性能权威指南PDF电子书

Web性能权威指南PDF电子书

本书是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书目标是涵盖 Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从 TCP、UDP 和 TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作...

高性能网站建设指南PDF扫描版图书

高性能网站建设指南PDF扫描版图书

本书结合Web2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在本书中,作者...

疯狂前端开发讲义 jQuery AngularJS Bootstrap前端开发实战PDF电子书

疯狂前端开发讲义 jQuery AngularJS Bootstrap前端开发实战PDF电子书

本书基于《疯狂Ajax讲义(第3版)》部分升级而来,全书升级了HTML 5.1支持的XMLHttpRequest, jQuery升级到3.1。本书的重点是新加入的两个目前十分主流的前端框架:AngularJS和Bootstrap。本书详细、全面地介绍了AngularJS和Bootstrap的知识,由...

案例学Web前端开发PDF彩色扫描图书

案例学Web前端开发PDF彩色扫描图书

《案例学Web前端开发》从初学者角度出发,通过44个实用的Web前端应用,循序渐进地讲解一个完整网站的功能实现及开发过程。全书共分12章,包括Web网站初体验、搭建网站雏形、用CSS3装饰你的网站、HTML5多媒体实现网站“家庭影院”、通过HTML5表单与用户交互、列表与表格-一让网站更规整、CSS...

web前端开发性能优化视频教程

web前端开发性能优化视频教程

web前端开发性能优化视频教程 vue ssr pwa 浏览器渲染缓存服务端,web前端性能优化视频教程资源合并与压缩,css、js的加载与执行,懒加载与预加载,图片相关的优化,重绘与回流以及浏览器存储[Download]资源名称:web前端开发性能优化视频教程 提取码:pav6下载地址:...

WEB大前端工程师从入门到入职全套视频教程

WEB大前端工程师从入门到入职全套视频教程

满满的干货,完整学习路线课程视频教程下载,HTML、CSS,Javascript打底儿, HTML5 妥妥的,再来上Node.js,完整覆盖Web前端开发全部知识点,课程内容全面详细,深入浅出,真正的一套适合小白零自学基础入门到入职前端工程师就业班课程。前端开发大势所趋,行业红利唾手可得[Downl...