展开全部

主编推荐语

为你详细介绍前端安全的必备知识。

内容简介

本书分5大部分、17个章节,详细介绍前端安全的必备知识,旨在让前端开发人员、设计师、产品经理等前端开发相关人士了解新形势下的安全技能,涉及从最新的智能手机到老旧的台式计算机等各种设备,并且不限定平台。具体内容包括:制定安全计划,运用成功的编码实践,创建有用又高效的测试方法,实现维护周期,定位安全资源。

目录

  • 版权信息
  • O'Reilly Media, Inc.介绍
  • 业界评论
  • 前言
  • 本书预览
  • 阅读须知
  • 开发环境
  • 本书使用的图标
  • 排版约定
  • 获取更多信息
  • 使用代码示例
  • Safari® Books Online
  • 联系我们
  • 致谢
  • 电子书
  • 第一部分 制订安全计划
  • 第1章 定义应用环境
  • 1.1 明确Web应用威胁
  • 1.2 理解软件安全保障
  • 1.2.1 考虑OSSAP
  • 1.2.2 定义SSA的要求
  • 1.2.3 对数据和资源分类
  • 1.2.4 进行必要的分析
  • 1.3 探究与语言相关的问题
  • 1.3.1 定义HTML的关键问题
  • 1.3.2 定义CSS的关键问题
  • 1.3.3 定义JavaScript的关键问题
  • 1.4 考虑端点的防御要素
  • 1.4.1 预防安全漏洞
  • 1.4.2 检测安全漏洞
  • 1.4.3 修复受损的软件
  • 1.5 处理云存储
  • 1.6 使用外部代码和资源
  • 1.6.1 定义库的使用
  • 1.6.2 定义API的使用
  • 1.6.3 定义微服务的使用
  • 1.6.4 访问外部数据
  • 1.7 允许他人访问
  • 第2章 迎合用户需求与期望
  • 2.1 从用户的视角看待应用程序
  • 2.2 考虑自带设备的问题
  • 2.2.1 理解基于Web的应用程序的安全性
  • 2.2.2 考虑原生应用的问题
  • 2.2.3 使用定制化浏览器
  • 2.2.4 验证代码兼容性问题
  • 2.2.5 处理几乎连续的设备更新
  • 2.3 设计密码的可选方案
  • 2.3.1 使用口令
  • 2.3.2 使用生物识别的方案
  • 2.3.3 依靠钥匙卡
  • 2.3.4 依靠USB key
  • 2.3.5 实现令牌策略
  • 2.4 聚焦用户期望
  • 2.4.1 让应用程序易于使用
  • 2.4.2 让应用程序快速运行
  • 2.4.3 创建可靠的环境
  • 2.4.4 客观看待安全性
  • 第3章 获取第三方帮助
  • 3.1 发现第三方安全解决方案
  • 3.2 考虑云安全方案
  • 3.2.1 理解数据仓库
  • 3.2.2 处理文件共享问题
  • 3.2.3 考虑云存储
  • 3.3 选择产品类型
  • 3.3.1 使用库
  • 3.3.2 访问API
  • 3.3.3 考虑微服务
  • 第二部分 运用成功的编码实践
  • 第4章 开发成功的界面
  • 4.1 评估UI
  • 4.1.1 创建简洁的界面
  • 4.1.2 使界面灵活
  • 4.1.3 提供辅助功能
  • 4.1.4 定义可访问性问题
  • 4.2 提供受控制的选择
  • 4.3 选择UI的解决方案级别
  • 4.3.1 实现标准的HTML控件
  • 4.3.2 使用CSS控件
  • 4.3.3 用JavaScript创建控件
  • 4.4 校验输入
  • 4.4.1 只允许特定的输入
  • 4.4.2 查找鬼祟的输入
  • 4.4.3 请求新的输入
  • 4.4.4 使用客户端和服务器端校验
  • 4.5 期待意外
  • 第5章 构建可靠的代码
  • 5.1 区分可靠性和安全性
  • 5.1.1 定义可靠性和安全性的角色
  • 5.1.2 避免可靠代码中的安全漏洞
  • 5.1.3 聚焦应用程序的功能
  • 5.2 开发团队协议
  • 5.3 创建经验教训的反馈回路
  • 5.4 考虑成套解决方案的问题
  • 5.4.1 处理外部库
  • 5.4.2 处理外部API
  • 5.4.3 使用框架
  • 5.4.4 调用微服务
  • 第6章 包含库
  • 6.1 考虑库的使用
  • 6.1.1 用库增强CSS
  • 6.1.2 用库与HTML交互
  • 6.1.3 用库扩展JavaScript
  • 6.2 区分内部存储库和外部存储库
  • 6.3 定义库带来的安全威胁
  • 6.3.1 启用严格模式
  • 6.3.2 开发CSP
  • 6.4 安全地包含库
  • 6.4.1 充分研究库
  • 6.4.2 精确定义库的使用
  • 6.4.3 保持库的小规模和内容聚焦
  • 6.4.4 执行必需的测试
  • 6.5 区分库和框架
  • 第7章 慎用API
  • 7.1 区分API和库
  • 7.1.1 考虑流行速度上的差异
  • 7.1.2 区分用法上的差异
  • 7.2 用API扩展JavaScript
  • 7.2.1 定位合适的API
  • 7.2.2 创建简单示例
  • 7.3 定义API带来的安全威胁
  • 7.3.1 MailPoet毁了你的好声誉
  • 7.3.2 开发阅后即焚的图片
  • 7.3.3 使用“找回我的iPhone”却丢了手机
  • 7.3.4 Heartbleed泄露你最重要的信息
  • 7.3.5 遭受Shellshock攻击
  • 7.4 通过JavaScript安全访问API
  • 7.4.1 验证API的安全性
  • 7.4.2 测试输入和输出
  • 7.4.3 保持数据的局部性和安全性
  • 7.4.4 防御性编码
  • 第8章 考虑使用微服务
  • 8.1 定义微服务
  • 8.1.1 详述微服务的特点
  • 8.1.2 区分微服务与库
  • 8.1.3 区分微服务与API
  • 8.1.4 考虑微服务的策略
  • 8.2 用JavaScript调用微服务
  • 8.2.1 理解通信中REST的角色
  • 8.2.2 用JSON传输数据
  • 8.2.3 用Node.js和Seneca创建微服务
  • 8.3 定义微服务带来的安全威胁
  • 8.3.1 缺少一致性
  • 8.3.2 考虑虚拟机的角色
  • 8.3.3 使用JSON进行数据传输
  • 8.3.4 定义传输层的安全
  • 8.4 创建可替换的微服务路径
  • 第三部分 创建有用及高效的测试策略
  • 第9章 像黑客一样思考
  • 9.1 定义Web安全扫描的需求
  • 9.2 构建测试系统
  • 9.2.1 考虑测试系统的使用
  • 9.2.2 接受必需的训练
  • 9.2.3 创建正确的环境
  • 9.2.4 使用虚拟机
  • 9.2.5 获取工具
  • 9.2.6 配置系统
  • 9.2.7 恢复系统
  • 9.3 定义最常见的漏洞源
  • 9.3.1 避免SQL注入攻击
  • 9.3.2 理解跨站脚本攻击
  • 9.3.3 解决拒绝服务攻击问题
  • 9.3.4 去除可预测的资源定位
  • 9.3.5 克服无意的信息泄露
  • 9.4 在BYOD环境中进行测试
  • 9.4.1 配置远程访问区域
  • 9.4.2 检查跨应用程序的攻击
  • 9.4.3 处理真正古老的设备和软件
  • 9.5 依靠用户测试
  • 9.5.1 让用户横冲直撞
  • 9.5.2 开发可重现的步骤
  • 9.5.3 让用户发声
  • 9.6 使用外部的安全测试人员
  • 9.6.1 考虑渗透测试公司
  • 9.6.2 管理项目
  • 9.6.3 覆盖要点
  • 9.6.4 获取报告
  • 第10章 创建API安全区域
  • 10.1 理解API安全区域的概念
  • 10.2 定义API安全区域的需求
  • 10.2.1 确保API可以工作
  • 10.2.2 实现快速开发
  • 10.2.3 证明最佳的集成
  • 10.2.4 在负载情况下验证API的表现
  • 10.2.5 使API远离黑客
  • 10.3 用API沙盒进行开发
  • 10.3.1 使用现成的解决方案
  • 10.3.2 使用其他供应商的沙盒
  • 10.4 考虑虚拟环境
  • 10.4.1 定义虚拟环境
  • 10.4.2 区分虚拟环境和沙盒
  • 10.4.3 实现虚拟化
  • 10.4.4 依靠应用程序虚拟化
  • 第11章 检查库和API的漏洞
  • 11.1 创建测试计划
  • 11.1.1 考虑目的和目标
  • 11.1.2 测试内部库
  • 11.1.3 测试内部API
  • 11.1.4 测试外部库
  • 11.1.5 测试外部API
  • 11.1.6 扩展测试到微服务
  • 11.2 单独测试库和API
  • 11.2.1 为库创建测试框架
  • 11.2.2 为API创建测试脚本
  • 11.2.3 将测试策略扩展到微服务
  • 11.2.4 开发响应策略
  • 11.3 执行集成测试
  • 11.4 测试与语言相关的问题
  • 11.4.1 设计针对HTML问题的测试
  • 11.4.2 设计针对CSS问题的测试
  • 11.4.3 设计针对JavaScript问题的测试
  • 第12章 使用第三方测试
  • 12.1 找到第三方测试服务
  • 12.1.1 定义聘请第三方的理由
  • 12.1.2 考虑测试服务的范围
  • 12.1.3 确保第三方是合法的
  • 12.1.4 面试第三方
  • 12.1.5 对测试的搭建进行测试
  • 12.2 创建测试计划
  • 12.2.1 指明第三方在测试中的目的
  • 12.2.2 创建书面的测试计划
  • 12.2.3 枚举测试输出和报告的要求
  • 12.2.4 考虑测试需求
  • 12.3 实施测试计划
  • 12.3.1 确定公司参与测试的程度
  • 12.3.2 开始测试过程
  • 12.3.3 执行必需的测试监控
  • 12.3.4 处理意外的测试问题
  • 12.4 使用结果报告
  • 12.4.1 与第三方讨论报告输出
  • 12.4.2 向公司展示报告
  • 12.4.3 根据测试建议采取行动
  • 第四部分 实现维护周期
  • 第13章 明确定义升级周期
  • 13.1 制订详细的升级周期计划
  • 13.1.1 寻找升级
  • 13.1.2 确定升级的要求
  • 13.1.3 定义升级的临界点
  • 13.1.4 检查升级的问题
  • 13.1.5 创建测试场景
  • 13.1.6 实施变更
  • 13.2 制订升级测试计划
  • 13.2.1 执行所需的预测试
  • 13.2.2 执行所需的集成测试
  • 13.3 将升级移到生产环境
  • 第14章 考虑更新选项
  • 14.1 区分升级和更新
  • 14.2 确定何时更新
  • 14.2.1 处理库的更新
  • 14.2.2 处理API和微服务的更新
  • 14.2.3 接受自动更新
  • 14.3 更新语言套件
  • 14.3.1 创建语言支持清单
  • 14.3.2 获得可靠的语言专家
  • 14.3.3 验证与语言相关的提示符能否在应用程序中起效
  • 14.3.4 确保数据以正确的格式呈现
  • 14.3.5 定义语言支持测试的特殊要求
  • 14.4 执行紧急更新
  • 14.4.1 尽可能避免紧急情况
  • 14.4.2 组建快速响应团队
  • 14.4.3 执行简化的测试
  • 14.4.4 制订持久的更新计划
  • 14.5 制订更新测试计划
  • 第15章 考虑报告的需要
  • 15.1 使用报告以做出改变
  • 15.1.1 避免无用的报告
  • 15.1.2 安排时间为升级和更新做出报告
  • 15.1.3 使用自动生成的报告
  • 15.1.4 使用定制的报告
  • 15.1.5 创建一致的报告
  • 15.1.6 使用报告执行特定的应用任务
  • 15.2 创建内部报告
  • 15.2.1 确定使用哪些数据源
  • 15.2.2 指定报告的使用
  • 15.3 依靠外部生成的报告
  • 15.3.1 从第三方获取完整的报告
  • 15.3.2 从原始数据创建报告
  • 15.3.3 保持内部数据安全
  • 15.4 提供用户反馈
  • 15.4.1 获取用户反馈
  • 15.4.2 确定用户反馈的可用性
  • 第五部分 查找安全资源
  • 第16章 跟踪当前的安全威胁
  • 16.1 发现安全威胁信息的来源
  • 16.1.1 阅读与安全相关的专业文章
  • 16.1.2 查看安全网站
  • 16.1.3 获取顾问的意见
  • 16.2 避免信息泛滥
  • 16.3 为基于威胁的升级制订计划
  • 16.3.1 预判不需要采取任何行动的情况
  • 16.3.2 决定升级还是更新
  • 16.3.3 定义升级计划
  • 16.4 为基于威胁的更新制订计划
  • 16.4.1 验证更新是否可解决威胁
  • 16.4.2 确定威胁是否紧急
  • 16.4.3 定义更新计划
  • 16.4.4 要求来自第三方的更新
  • 第17章 获取必需的培训
  • 17.1 制订内部的安全培训计划
  • 17.1.1 定义所需的培训
  • 17.1.2 设置合理的目标
  • 17.1.3 使用内部培训师
  • 17.1.4 监控结果
  • 17.2 获取第三方对开发人员的培训
  • 17.2.1 指定培训的要求
  • 17.2.2 为公司聘请第三方培训师
  • 17.2.3 利用网络学校
  • 17.2.4 依靠培训中心
  • 17.2.5 利用本地的学院和大学
  • 17.3 确保用户有安全意识
  • 17.3.1 制订专门的安全培训
  • 17.3.2 结合书面指南进行培训
  • 17.3.3 创建并使用替代的安全提醒
  • 17.3.4 进行培训有效性检查
  • 关于作者
  • 关于封面
  • 看完了
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。