书籍详情
编写安全的移动应用程序:基于PHP和JavaScript技术
作者:[美]J.D.格拉瑟(J.D.Glaser) 著,吴骅 译
出版社:清华大学出版社
出版时间:2021-09-01
ISBN:9787302588054
定价:¥149.00
购买这本书可以去
内容简介
《编写安全的移动应用程序—基于PHP和JavaScript技术》详细阐述了与编写安全的移动应用程序相关的基本解决方案,主要包括Web应用程序攻击界面,PHP安全反模式,PHP基本安全,PHP安全工具概览,基于UTF-8的PHP和MySQL,项目布局模板,关注点分离,PHP和PDO,模板策略模式,现代PHP加密技术,异常和错误处理,安全的会话管理,安全的会话存储,安全的表单和账户注册,安全的客户端服务器表单验证,安全的文件上传机制,安全的JSON请求,Google Maps、YouTube和jQuery Mobile,Twitter身份验证和SSL cURL,安全的AJAX购物车,常见的Facebook漏洞点等内容。此外,本书还提供了相应的示例,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
作者简介
J.D. Glaser是一名具有开创性的研发人员,主要负责Windows安全软件的开发,并多次在全球安全事务会议上发言。他曾为政府机构提供安全方面的培训,美国司法部曾采用他的工具抓捕网络罪犯。J.D. Glaser目前专注于用PHP开发大型社交游戏,并确保玩家在网络空间的安全。
目录
目 录
第1部分
第1章 概述
1.1 理解安全的Web开发
1.1.1 适用读者
1.1.2 本书未涉及的内容
1.1.3 背景知识
1.1.4 安全工具
1.1.5 在项目间创建一致性的可复用代码
1.2 基于HTML5、AJAX和jQuery Mobile的移动应用程序
1.3 移动应用程序—社交混搭
1.3.1 客户端技术
1.3.2 客户端应用程序布局
1.3.3 服务器应用程序
1.4 安全措施的演变
1.4.1 SQL注入和CSRF
1.4.2 输出上下文攻击
1.4.3 HTML5新技术
1.4.4 实践与漏洞
1.4.5 安全扩展插件
1.4.6 信息缺失
1.4.7 一致性缺失
1.5 Web应用程序安全的新思路
第2章 Web应用程序攻击界面
2.1 攻击途径
2.2 常见威胁
2.2.1 SQL注入
2.2.2 跨站点脚本
2.2.3 跨站点请求伪造
2.2.4 会话劫持
2.3 保护输入和输出流
2.3.1 GET请求
2.3.2 POST请求
2.3.3 Cookie数据
2.3.4 会话固定
2.3.5 跨站点请求伪造
2.4 输入过滤和输出转义的理论知识
2.4.1 输入验证
2.4.2 输入过滤
2.4.3 输出转义
2.4.4 数据的显示位置
2.5 OWASP XSS Prevention Rules
第3章 PHP安全反模式
3.1 反模式
3.2 不使用内容安全策略反模式进行设计
3.3 单一尺寸适合所有的反模式
3.4 错误的反模式
3.4.1 经验式反模式
3.4.2 关键数据类型的理解和分析
3.4.3 单一数据类型反模式
3.5 全部输入的HTTP数据均为字符串
3.5.1 类型验证
3.5.2 输入内容与输出内容相同
3.5.3 假定的“干净”数据
3.5.4 mysql_real_escape_string()的错误使用方式
3.5.5 过滤、转义和编码
3.5.6 单一输出上下文
3.5.7 缺乏规划
3.5.8 一致性缺失
3.5.9 缺少应有的测试
3.5.10 参数遗漏
3.6 设计实践
3.6.1 HTML和PHP代码的分离
3.6.2 过多的数据库函数调用
3.6.3 错误的过滤机制
3.6.4 过多的引号
3.6.5 原始请求变量作为应用程序变量
3.6.6 直接URL输入
3.6.7 错误管理操作
3.6.8 加密操作
3.6.9 Cookie过期
3.6.10 会话管理
3.7 消除反模式:模式、测试、自动化
第4章 PHP基本安全
4.1 一致的UTF-8字符集
4.1.1 数据库中的UTF-8
4.1.2 PHP应用程序中的UTF-8
4.1.3 客户浏览器中的UTF-8
4.2 清理安全数据
4.2.1 输入验证—尺寸和类型
4.2.2 转义输出—考查上下文
4.2.3 数据库访问模式
4.2.4 应用程序秘密位置模式
4.2.5 错误处理模式
4.2.6 错误的日志处理模式
4.2.7 身份验证
4.2.8 授权模式
4.2.9 可接受的白名单输入
4.3 实践方案小结
4.3.1 架构应用程序字符集
4.3.2 架构HTTP请求模式
4.3.3 架构HTTP Cookie应用
4.3.4 架构输入验证
4.3.5 架构输出转义
4.3.6 架构会话管理
4.3.7 保护机密文件/保护包含的文件
4.3.8 保护用户密码
4.3.9 保护用户会话数据
4.3.10 防护CSRF攻击
4.3.11 防护SQL注入攻击
4.3.12 防护XSS攻击
4.3.13 防护文件系统攻击
4.3.14 相应的错误管理机制
4.4 PHP的OWASP推荐方案
4.4.1 检查表
4.4.2 附加的PHP安全检查表
4.4.3 禁用危险的PHP函数
第5章 PHP安全工具概览
5.1 对象语言
5.1.1 抽象类、接口、外观、模板、策略、工厂和访问者
5.1.2 DRY
5.2 本地函数支持
5.2.1 编码函数
5.2.2 DRY强制函数
5.2.3 类型强制函数
5.2.4 过滤器函数
5.2.5 移动函数
5.2.6 加密和哈希函数
5.2.7 现代加密
5.2.8 现代哈希方法
5.2.9 现代salt机制和随机机制
5.2.10 HTML模板支持
5.2.11 内联定界符函数
5.3 实践方案
5.3.1 尽可能使用整数值
5.3.2 使用类型强制
5.3.3 强制字符串大小和数字范围
5.3.4 在过滤前剪裁字符串
5.3.5 保持较小的字符串
5.3.6 要避免的问题
5.4 PDO预处理语句
5.5 弃用的安全函数
第6章 基于UTF-8的PHP和MySQL
6.1 UTF-8
6.1.1 UTF-8的优缺点
6.1.2 UTF-8的安全性
6.2 完整的PHP UTF-8设置
6.2.1 UTF-8 MySQL数据库和表创建
6.2.2 UTF-8 PDO客户端连接
6.2.3 手动UTF-8 PDO/MySQL连接
6.2.4 PHP UTF-8初始化和安装
6.3 UTF-8浏览器设置
6.3.1 头设置
6.3.2 元标签设置
6.3.3 表单设置
6.4 PHP UTF-8多字节函数
6.4.1 UTF-8输入验证函数
6.4.2 UTF-8字符串函数
6.4.3 UTF-8输出函数
6.4.4 UTF-8邮件
6.5 PHPUnit测试中的UTF-8配置
6.5.1 测试PHP内部编码
6.5.2 测试PHP输出编码
6.5.3 断言UTF-8配置的PHPUnit Test类
第7章 项目布局模板
7.1 应用程序中的相似性
7.1.1 项目布局应采用一致性方式进行处理
7.1.2 选择查询封装器
7.1.3 HTML静态资源的分离
7.2 完整的注释文件
第8章 关注点分离
8.1 什么是关注点分离
8.2 保持HTML为HTML
8.3 令PHP远离HTML
8.4 令JavaScript远离HTML
8.5 内容安全性策略
8.6 HTML中的ID和类
8.7 小结
第9章 PHP和PDO
9.1 PDO UTF-8连接
9.2 MySQL UTF-8和表创建
9.3 PDO预处理语句
9.3.1 PDO命名参数示例
9.3.2 PDO未命名参数示例
9.3.3 PDO类对象示例
9.4 选择数据并置入HTML和URL上下文
9.5 引用值和数据库类型转换
9.5.1 PDO手工引用示例
9.5.2 PDO和WHERE IN语句
9.6 白名单机制和PDO列名引用
9.7 小结
第10章 模板策略模式
10.1 模板模式强制执行流程
10.1.1 账户注册模板
10.1.2 账户注册模板—激活
10.2 输出转义的策略模式
10.2.1 转义策略类
10.2.2 改进的转义策略类
10.3 Cleaner类
10.3.1 测试Cleaner类
10.3.2 Cleaner::getKey()验证应用示例
第11章 现代PHP加密技术
11.1 使用MCrypt进行双向加密
11.2 利用Blowfish加密哈希密码
第12章 异常和错误处理
12.1 配置PHP错误环境
12.1.1 安全的php.ini和错误日志文件
12.1.2 错误选项简介
12.1.3 生产环境下的php.ini错误配置
12.1.4 开发环境下的php.ini错误配置
12.1.5 PHP错误级别常量
12.2 异常处理机制
12.3 捕获所有错误和异常
12.3.1 将错误转换为异常
12.3.2 错误处理函数的规范
12.3.3 处理程序的返回值
12.4 ErrorManager类
12.5 利用register_shutdown_function()处理致命错误
第2部分
第13章 安全的会话管理
13.1 SSL登录页面
13.1.1 安全会话管理简介
13.1.2 安全会话管理检查表
13.1.3 检查表的详细内容
13.1.4 设置配置内容
13.1.5 监控会话篡改
13.1.6 检测用户代理的更改—篡改防护的实践方案
13.2 通过SSL强制页面请求
13.2.1 SSL重定向
13.2.2 协议相关链接
第14章 安全的会话存储
14.1 PHP默认会话存储
14.1.1 会话存储的生命周期
14.1.2 会话锁
14.1.3 AJAX和会话锁
14.2 会话管理配置
14.2.1 在session_start()调用前配置安全项
14.2.2 正确地销毁会话
14.3 加密会话存储
14.3.1 通过MySQL加密会话存储
14.3.2 在MySQL中创建自定义会话处理程序
14.3.3 SecureSessionPDO类
14.3.4 评论和决策时间
14.3.5 类成员函数的细节内容
14.3.6 通过文件系统加密会话存储
14.3.7 SecureSessionFile类
14.3.8 SecureSessionFile类的细节内容
第15章 安全的表单和账户注册
15.1 安全的用户注册和登录处理
15.2 SSL上的安全表单登录页面
15.3 安全的表单nonce—防止CSRF
15.4 NonceTracker类
15.4.1 NonceTracker类的详细信息
15.4.2 NonceTracker类的具体解释
15.5 表单输入验证
15.5.1 注册表单
15.5.2 注册表单的细节内容
15.5.3 用户密码的双重加密
15.6 账户管理类
15.6.1 AccountManager类细节内容和授权检测
15.6.2 电子邮件验证和激活系统
15.6.3 基于Blowfish轮数的加密强度
15.6.4 安全的密码请求链接
15.6.5 权限提升后的重新授权
15.7 SessionManager类
15.7.1 SessionManagement类的详细内容
15.7.2 基于essionManager的安全注销
15.8 权限提升保护系统
15.9 安全的登录
15.9.1 安全的登录表单
15.9.2 安全的登录表单细节
15.10 通过身份验证保护页面
15.11 安全的注销页面
15.12 安全的RememberMe特性
第16章 安全的客户端服务器表单验证
16.1 PHP UTF-8输入验证
16.1.1 服务器UTF-8验证
16.1.2 通过RegEx验证UTF-8名称和电子邮件
16.1.3 电子邮件地址的清除工作
16.2 PREG
16.2.1 服务器端的正则表达式
16.2.2 基于正则表达式的JavaScript验证
16.2.3 基于正则表达式的jQuery验证
16.3 jQuery密码强度计
16.4 JavaScript和jQuery转义和过滤
16.4.1 利用innerText替换innerHTML
16.4.2 嵌入式HTML超链接—innerHTML中的问题
16.4.3 不安全的JavaScript函数
16.5 防止双重表单提交
16.5.1 表单处理的Post-Redirect-Get模式
16.5.2 PRG模式
16.5.3 PRG指令
16.5.4 跟踪表单标记以防止重复提交
16.6 控制表单页面缓存和页面过期
16.6.1 主缓存-控制设置
16.6.2 微软IE扩展
16.6.3 AJAX GET请求的时间戳机制
16.6.4 构建安全的GET请求URL
第17章 安全的文件上传机制
17.1 基本原则
17.2 基于数据库的安全的文件上传机制
第18章 安全的JSON请求
18.1 构建安全的JSON响应
18.1.1 正确和错误的JSON
18.1.2 正确的JSON结构依赖于数组结构
18.1.3 利用PDO记录构造安全的数组
18.2 在PHP中发送和接收JSON
18.2.1 从PHP发送JSON
18.2.2 在PHP中接收JSON
18.3 利用JavaScript/jQuery安全地解析JSON
18.3.1 jQuery JSON调用
18.3.2 POST和解析JSON响应示例
第3部分
第19章 Google Maps、YouTube和jQuery Mobile
19.1 代码构建
19.2 在Google Map InfoWindows中设置视频
19.3 生成InfoWindow Marker
19.3.1 HTML和jQuery Mobile布局
19.3.2 关注点分离
19.3.3 HTML片段描述
19.3.4 YouTube元素描述
19.3.5 JavaScript文件:gmap.js
19.3.6 基于可播放视频的InfoWindow Marker
19.4 Map Marker数据库表
19.5 数据库类GMapData
19.5.1 处理标记
19.5.2 生成标记
19.5.3 插入和更新标记
19.6 准备安全的JSON数据
第20章 Twitter身份验证和SSL cURL
20.1 基于PHP的Twitter
20.2 TweetFetcher类
20.3 通过TweetFetcher读取tweet
20.3.1 获取Twitter oAuth令牌
20.3.2 针对cURL设置SSL身份验证
20.3.3 从时间轴上检索的tweet
20.3.4 创建和过滤纯文本中的超链接
20.4 过滤不良的tweet
20.5 使用TweetFetcher
第21章 安全的AJAX购物车
21.1 移动商店
21.1.1 向购物车中添加商品
21.1.2 从购物车中移除商品
21.2 利用PayPal购物
21.2.1 开始PayPal事务
21.2.2 安全地向PayPal付款
21.2.3 完成PayPal购买行为
21.3 小结
第22章 常见的Facebook漏洞点
22.1 通过PDO保存Facebook实时更新
22.2 反射JSON坐标
22.3 反射消息
22.4 反射URL
22.5 JavaScript和jQuery过滤器
22.6 JSONP预防措施
参考文献
附录
在线资源
理解编码器背后的正则表达式
根据的安全警告检查HTML头
支持网站
推荐读物
第1部分
第1章 概述
1.1 理解安全的Web开发
1.1.1 适用读者
1.1.2 本书未涉及的内容
1.1.3 背景知识
1.1.4 安全工具
1.1.5 在项目间创建一致性的可复用代码
1.2 基于HTML5、AJAX和jQuery Mobile的移动应用程序
1.3 移动应用程序—社交混搭
1.3.1 客户端技术
1.3.2 客户端应用程序布局
1.3.3 服务器应用程序
1.4 安全措施的演变
1.4.1 SQL注入和CSRF
1.4.2 输出上下文攻击
1.4.3 HTML5新技术
1.4.4 实践与漏洞
1.4.5 安全扩展插件
1.4.6 信息缺失
1.4.7 一致性缺失
1.5 Web应用程序安全的新思路
第2章 Web应用程序攻击界面
2.1 攻击途径
2.2 常见威胁
2.2.1 SQL注入
2.2.2 跨站点脚本
2.2.3 跨站点请求伪造
2.2.4 会话劫持
2.3 保护输入和输出流
2.3.1 GET请求
2.3.2 POST请求
2.3.3 Cookie数据
2.3.4 会话固定
2.3.5 跨站点请求伪造
2.4 输入过滤和输出转义的理论知识
2.4.1 输入验证
2.4.2 输入过滤
2.4.3 输出转义
2.4.4 数据的显示位置
2.5 OWASP XSS Prevention Rules
第3章 PHP安全反模式
3.1 反模式
3.2 不使用内容安全策略反模式进行设计
3.3 单一尺寸适合所有的反模式
3.4 错误的反模式
3.4.1 经验式反模式
3.4.2 关键数据类型的理解和分析
3.4.3 单一数据类型反模式
3.5 全部输入的HTTP数据均为字符串
3.5.1 类型验证
3.5.2 输入内容与输出内容相同
3.5.3 假定的“干净”数据
3.5.4 mysql_real_escape_string()的错误使用方式
3.5.5 过滤、转义和编码
3.5.6 单一输出上下文
3.5.7 缺乏规划
3.5.8 一致性缺失
3.5.9 缺少应有的测试
3.5.10 参数遗漏
3.6 设计实践
3.6.1 HTML和PHP代码的分离
3.6.2 过多的数据库函数调用
3.6.3 错误的过滤机制
3.6.4 过多的引号
3.6.5 原始请求变量作为应用程序变量
3.6.6 直接URL输入
3.6.7 错误管理操作
3.6.8 加密操作
3.6.9 Cookie过期
3.6.10 会话管理
3.7 消除反模式:模式、测试、自动化
第4章 PHP基本安全
4.1 一致的UTF-8字符集
4.1.1 数据库中的UTF-8
4.1.2 PHP应用程序中的UTF-8
4.1.3 客户浏览器中的UTF-8
4.2 清理安全数据
4.2.1 输入验证—尺寸和类型
4.2.2 转义输出—考查上下文
4.2.3 数据库访问模式
4.2.4 应用程序秘密位置模式
4.2.5 错误处理模式
4.2.6 错误的日志处理模式
4.2.7 身份验证
4.2.8 授权模式
4.2.9 可接受的白名单输入
4.3 实践方案小结
4.3.1 架构应用程序字符集
4.3.2 架构HTTP请求模式
4.3.3 架构HTTP Cookie应用
4.3.4 架构输入验证
4.3.5 架构输出转义
4.3.6 架构会话管理
4.3.7 保护机密文件/保护包含的文件
4.3.8 保护用户密码
4.3.9 保护用户会话数据
4.3.10 防护CSRF攻击
4.3.11 防护SQL注入攻击
4.3.12 防护XSS攻击
4.3.13 防护文件系统攻击
4.3.14 相应的错误管理机制
4.4 PHP的OWASP推荐方案
4.4.1 检查表
4.4.2 附加的PHP安全检查表
4.4.3 禁用危险的PHP函数
第5章 PHP安全工具概览
5.1 对象语言
5.1.1 抽象类、接口、外观、模板、策略、工厂和访问者
5.1.2 DRY
5.2 本地函数支持
5.2.1 编码函数
5.2.2 DRY强制函数
5.2.3 类型强制函数
5.2.4 过滤器函数
5.2.5 移动函数
5.2.6 加密和哈希函数
5.2.7 现代加密
5.2.8 现代哈希方法
5.2.9 现代salt机制和随机机制
5.2.10 HTML模板支持
5.2.11 内联定界符函数
5.3 实践方案
5.3.1 尽可能使用整数值
5.3.2 使用类型强制
5.3.3 强制字符串大小和数字范围
5.3.4 在过滤前剪裁字符串
5.3.5 保持较小的字符串
5.3.6 要避免的问题
5.4 PDO预处理语句
5.5 弃用的安全函数
第6章 基于UTF-8的PHP和MySQL
6.1 UTF-8
6.1.1 UTF-8的优缺点
6.1.2 UTF-8的安全性
6.2 完整的PHP UTF-8设置
6.2.1 UTF-8 MySQL数据库和表创建
6.2.2 UTF-8 PDO客户端连接
6.2.3 手动UTF-8 PDO/MySQL连接
6.2.4 PHP UTF-8初始化和安装
6.3 UTF-8浏览器设置
6.3.1 头设置
6.3.2 元标签设置
6.3.3 表单设置
6.4 PHP UTF-8多字节函数
6.4.1 UTF-8输入验证函数
6.4.2 UTF-8字符串函数
6.4.3 UTF-8输出函数
6.4.4 UTF-8邮件
6.5 PHPUnit测试中的UTF-8配置
6.5.1 测试PHP内部编码
6.5.2 测试PHP输出编码
6.5.3 断言UTF-8配置的PHPUnit Test类
第7章 项目布局模板
7.1 应用程序中的相似性
7.1.1 项目布局应采用一致性方式进行处理
7.1.2 选择查询封装器
7.1.3 HTML静态资源的分离
7.2 完整的注释文件
第8章 关注点分离
8.1 什么是关注点分离
8.2 保持HTML为HTML
8.3 令PHP远离HTML
8.4 令JavaScript远离HTML
8.5 内容安全性策略
8.6 HTML中的ID和类
8.7 小结
第9章 PHP和PDO
9.1 PDO UTF-8连接
9.2 MySQL UTF-8和表创建
9.3 PDO预处理语句
9.3.1 PDO命名参数示例
9.3.2 PDO未命名参数示例
9.3.3 PDO类对象示例
9.4 选择数据并置入HTML和URL上下文
9.5 引用值和数据库类型转换
9.5.1 PDO手工引用示例
9.5.2 PDO和WHERE IN语句
9.6 白名单机制和PDO列名引用
9.7 小结
第10章 模板策略模式
10.1 模板模式强制执行流程
10.1.1 账户注册模板
10.1.2 账户注册模板—激活
10.2 输出转义的策略模式
10.2.1 转义策略类
10.2.2 改进的转义策略类
10.3 Cleaner类
10.3.1 测试Cleaner类
10.3.2 Cleaner::getKey()验证应用示例
第11章 现代PHP加密技术
11.1 使用MCrypt进行双向加密
11.2 利用Blowfish加密哈希密码
第12章 异常和错误处理
12.1 配置PHP错误环境
12.1.1 安全的php.ini和错误日志文件
12.1.2 错误选项简介
12.1.3 生产环境下的php.ini错误配置
12.1.4 开发环境下的php.ini错误配置
12.1.5 PHP错误级别常量
12.2 异常处理机制
12.3 捕获所有错误和异常
12.3.1 将错误转换为异常
12.3.2 错误处理函数的规范
12.3.3 处理程序的返回值
12.4 ErrorManager类
12.5 利用register_shutdown_function()处理致命错误
第2部分
第13章 安全的会话管理
13.1 SSL登录页面
13.1.1 安全会话管理简介
13.1.2 安全会话管理检查表
13.1.3 检查表的详细内容
13.1.4 设置配置内容
13.1.5 监控会话篡改
13.1.6 检测用户代理的更改—篡改防护的实践方案
13.2 通过SSL强制页面请求
13.2.1 SSL重定向
13.2.2 协议相关链接
第14章 安全的会话存储
14.1 PHP默认会话存储
14.1.1 会话存储的生命周期
14.1.2 会话锁
14.1.3 AJAX和会话锁
14.2 会话管理配置
14.2.1 在session_start()调用前配置安全项
14.2.2 正确地销毁会话
14.3 加密会话存储
14.3.1 通过MySQL加密会话存储
14.3.2 在MySQL中创建自定义会话处理程序
14.3.3 SecureSessionPDO类
14.3.4 评论和决策时间
14.3.5 类成员函数的细节内容
14.3.6 通过文件系统加密会话存储
14.3.7 SecureSessionFile类
14.3.8 SecureSessionFile类的细节内容
第15章 安全的表单和账户注册
15.1 安全的用户注册和登录处理
15.2 SSL上的安全表单登录页面
15.3 安全的表单nonce—防止CSRF
15.4 NonceTracker类
15.4.1 NonceTracker类的详细信息
15.4.2 NonceTracker类的具体解释
15.5 表单输入验证
15.5.1 注册表单
15.5.2 注册表单的细节内容
15.5.3 用户密码的双重加密
15.6 账户管理类
15.6.1 AccountManager类细节内容和授权检测
15.6.2 电子邮件验证和激活系统
15.6.3 基于Blowfish轮数的加密强度
15.6.4 安全的密码请求链接
15.6.5 权限提升后的重新授权
15.7 SessionManager类
15.7.1 SessionManagement类的详细内容
15.7.2 基于essionManager的安全注销
15.8 权限提升保护系统
15.9 安全的登录
15.9.1 安全的登录表单
15.9.2 安全的登录表单细节
15.10 通过身份验证保护页面
15.11 安全的注销页面
15.12 安全的RememberMe特性
第16章 安全的客户端服务器表单验证
16.1 PHP UTF-8输入验证
16.1.1 服务器UTF-8验证
16.1.2 通过RegEx验证UTF-8名称和电子邮件
16.1.3 电子邮件地址的清除工作
16.2 PREG
16.2.1 服务器端的正则表达式
16.2.2 基于正则表达式的JavaScript验证
16.2.3 基于正则表达式的jQuery验证
16.3 jQuery密码强度计
16.4 JavaScript和jQuery转义和过滤
16.4.1 利用innerText替换innerHTML
16.4.2 嵌入式HTML超链接—innerHTML中的问题
16.4.3 不安全的JavaScript函数
16.5 防止双重表单提交
16.5.1 表单处理的Post-Redirect-Get模式
16.5.2 PRG模式
16.5.3 PRG指令
16.5.4 跟踪表单标记以防止重复提交
16.6 控制表单页面缓存和页面过期
16.6.1 主缓存-控制设置
16.6.2 微软IE扩展
16.6.3 AJAX GET请求的时间戳机制
16.6.4 构建安全的GET请求URL
第17章 安全的文件上传机制
17.1 基本原则
17.2 基于数据库的安全的文件上传机制
第18章 安全的JSON请求
18.1 构建安全的JSON响应
18.1.1 正确和错误的JSON
18.1.2 正确的JSON结构依赖于数组结构
18.1.3 利用PDO记录构造安全的数组
18.2 在PHP中发送和接收JSON
18.2.1 从PHP发送JSON
18.2.2 在PHP中接收JSON
18.3 利用JavaScript/jQuery安全地解析JSON
18.3.1 jQuery JSON调用
18.3.2 POST和解析JSON响应示例
第3部分
第19章 Google Maps、YouTube和jQuery Mobile
19.1 代码构建
19.2 在Google Map InfoWindows中设置视频
19.3 生成InfoWindow Marker
19.3.1 HTML和jQuery Mobile布局
19.3.2 关注点分离
19.3.3 HTML片段描述
19.3.4 YouTube元素描述
19.3.5 JavaScript文件:gmap.js
19.3.6 基于可播放视频的InfoWindow Marker
19.4 Map Marker数据库表
19.5 数据库类GMapData
19.5.1 处理标记
19.5.2 生成标记
19.5.3 插入和更新标记
19.6 准备安全的JSON数据
第20章 Twitter身份验证和SSL cURL
20.1 基于PHP的Twitter
20.2 TweetFetcher类
20.3 通过TweetFetcher读取tweet
20.3.1 获取Twitter oAuth令牌
20.3.2 针对cURL设置SSL身份验证
20.3.3 从时间轴上检索的tweet
20.3.4 创建和过滤纯文本中的超链接
20.4 过滤不良的tweet
20.5 使用TweetFetcher
第21章 安全的AJAX购物车
21.1 移动商店
21.1.1 向购物车中添加商品
21.1.2 从购物车中移除商品
21.2 利用PayPal购物
21.2.1 开始PayPal事务
21.2.2 安全地向PayPal付款
21.2.3 完成PayPal购买行为
21.3 小结
第22章 常见的Facebook漏洞点
22.1 通过PDO保存Facebook实时更新
22.2 反射JSON坐标
22.3 反射消息
22.4 反射URL
22.5 JavaScript和jQuery过滤器
22.6 JSONP预防措施
参考文献
附录
在线资源
理解编码器背后的正则表达式
根据的安全警告检查HTML头
支持网站
推荐读物
猜您喜欢