主编推荐语
一本面向研发技术人员的安全书,帮助研发人员在项目研发过程中规避风险。
内容简介
全书共有10章。第1章讲述PHP项目安全问题的主要形成原因以及解决PHP项目安全问题的原则;第2章讲述PHP项目安全的基础,以使研发人员了解PHP语言自身的安全机制;第3章通过讲解PHP编码过程中需要注意的安全问题,帮助研发人员正确运用PHP函数及变量转换;第4章阐述常见的漏洞并给出了相应的处理方式,涉及SQL注入漏洞、XML注入漏洞、邮件安全、PHP组件安全、文件包含安全、系统命令注入等方面,帮助研发人员在项目初期即能有效防范漏洞问题;第5章讲述PHP与客户端交互过程中存在的安全隐患及解决方案,包括浏览器安全边界、客户端脚本攻击、伪造劫持等一系列和客户端相关的安全防护;第6章讲述在PHP项目中常用的加密方式及其应用场景;第7章讲述PHP项目安全的进阶知识,帮助研发人员在更高的角度防范风险;第8章从PHP业务逻辑安全的角度讲述每个业务场景的安全防范路径,以进一步提升研发人员在PHP项目实战中对安全问题的认识,并提高解决具体业务安全问题的能力;第9章讲述PHP的各种支撑软件的安全应用问题;第10章讲述如何建立有安全保障的企业研发体系。
对于PHP项目的安全问题,本书不仅进行了系统性的阐释,给出了体系化的安全问题解决之道,还通过丰富的小示例帮助读者在平常工作中得以见微知著,并能防微杜渐,增强安全意识,提高安全警惕,不放过任何威胁到项目安全的“细枝末节”。因而,本书不仅适合PHP 研发人员,也适合网络安全技术人员参阅。
目录
- 版权信息
- 内容提要
- 序
- 推荐语录
- 前言
- 名词解释
- 第1章 PHP项目安全概述
- 1.1 PHP项目安全形势不容乐观
- 1.2 PHP项目安全问题产生的原因
- 1.3 PHP项目安全原则
- 1.3.1 不可信原则
- 1.3.2 最小化原则
- 1.3.3 简单就是美
- 1.3.4 组件的安全
- 1.4 小结
- 第2章 PHP项目安全基础
- 2.1 信息屏蔽
- 2.1.1 屏蔽PHP错误信息
- 2.1.2 防止版本号暴露
- 2.2 防止全局变量覆盖
- 2.3 使用PHP的访问限制
- 2.3.1 文件系统限制
- 2.3.2 远程访问限制
- 2.3.3 开启安全模式
- 2.3.4 禁用危险函数
- 2.4 PHP中的Cookie安全
- 2.4.1 Cookie的HttpOnly
- 2.4.2 Cookie的Secure
- 2.4.3 指定Cookie的使用范围
- 2.5 PHP的安装与升级
- 2.5.1 尽量减少非必要模块加载
- 2.5.2 使用第三方安全扩展
- 2.6 小结
- 第3章 PHP编码安全
- 3.1 弱数据类型安全
- 3.1.1 Hash比较缺陷
- 3.1.2 bool比较缺陷
- 3.1.3 数字转换比较缺陷
- 3.1.4 switch比较缺陷
- 3.1.5 数组比较缺陷
- 3.2 PHP代码执行漏洞
- 3.2.1 代码执行的函数
- 3.2.2 代码执行防御
- 3.3 PHP变量安全
- 3.3.1 全局变量覆盖
- 3.3.2 动态变量覆盖
- 3.3.3 函数extract()变量覆盖
- 3.3.4 函数import_request_variables()变量覆盖
- 3.3.5 函数parse_str()变量覆盖
- 3.4 URL重定向安全
- 3.5 请求伪造攻击
- 3.5.1 服务器请求伪造
- 3.5.2 SSRF漏洞的危害
- 3.5.3 在PHP中容易引起SSRF的函数
- 3.5.4 容易造成SSRF的功能点
- 3.5.5 SSRF漏洞防御
- 3.6 文件上传安全
- 3.6.1 文件上传漏洞的危害
- 3.6.2 文件上传漏洞
- 3.6.3 检查文件类型防止上传漏洞
- 3.6.4 检查文件扩展名称防止上传漏洞
- 3.6.5 文件上传漏洞的综合防护
- 3.7 避免反序列化漏洞
- 3.8 小结
- 第4章 PHP项目中的常见漏洞与防护
- 4.1 SQL注入漏洞
- 4.1.1 什么是SQL注入
- 4.1.2 报错注入
- 4.1.3 普通注入
- 4.1.4 隐式类型注入
- 4.1.5 盲注
- 4.1.6 宽字节注入
- 4.1.7 二次解码注入
- 4.2 SQL注入漏洞防护
- 4.2.1 MySQL预编译处理
- 4.2.2 PHP使用MySQL的预编译处理
- 4.2.3 校验和过滤
- 4.2.4 宽字节注入防护
- 4.2.5 禁用魔术引号
- 4.3 XML注入漏洞防护
- 4.4 邮件安全
- 4.4.1 邮件注入
- 4.4.2 防止邮件注入
- 4.5 PHP组件漏洞防护
- 4.5.1 RSS安全漏洞
- 4.5.2 PHPMailer漏洞
- 4.5.3 OpenSSL漏洞
- 4.5.4 SSL v2.0协议漏洞
- 4.6 文件包含安全
- 4.6.1 文件包含漏洞
- 4.6.2 避免文件包含漏洞
- 4.7 系统命令注入
- 4.7.1 易发生命令注入的函数
- 4.7.2 防御命令注入
- 4.8 小结
- 第5章 PHP与客户端交互安全
- 5.1 浏览器跨域安全
- 5.1.1 浏览器同源策略
- 5.1.2 浏览器跨域资源共享
- 5.1.3 JSONP资源加载安全
- 5.2 XSS漏洞防御
- 5.2.1 反射型XSS
- 5.2.2 存储型XSS
- 5.2.3 DOM型XSS
- 5.2.4 通过编码过滤和转换进行防御
- 5.2.5 开启HttpOnly防御XSS
- 5.2.6 对Cookie进行IP绑定
- 5.2.7 浏览器策略防御XSS
- 5.3 警惕浏览器绕过
- 5.4 跨站请求伪造防御
- 5.4.1 CSRF请求过程
- 5.4.2 CSRF防御方法
- 5.5 防止点击劫持
- 5.6 HTTP响应拆分漏洞
- 5.7 会话攻击安全防御
- 5.7.1 会话泄露
- 5.7.2 会话劫持
- 5.7.3 会话固定
- 5.8 小结
- 第6章 PHP与密码安全
- 6.1 用户密码安全
- 6.1.1 加密密码
- 6.1.2 密码加盐
- 6.1.3 定期修改
- 6.2 防止暴力破解
- 6.3 随机数安全
- 6.4 数字摘要
- 6.5 MAC和HMAC简介
- 6.6 对称加密
- 6.7 非对称加密
- 6.8 小结
- 第7章 PHP项目安全进阶
- 7.1 单一入口
- 7.1.1 实现方式
- 7.1.2 单一入口更安全
- 7.2 项目部署安全
- 7.2.1 目录结构
- 7.2.2 目录权限
- 7.2.3 避免敏感配置硬编码
- 7.3 保障内容安全
- 7.3.1 不安全的HTTP传输
- 7.3.2 HTTPS传输更安全
- 7.3.3 HTTPS证书未验证
- 7.3.4 防止盗链
- 7.3.5 敏感词
- 7.4 防止越权和权限控制
- 7.4.1 什么是越权访问
- 7.4.2 造成越权的原因
- 7.4.3 RBAC控制模型
- 7.4.4 系统鉴权
- 7.4.5 系统隔离
- 7.5 API接口访问安全
- 7.5.1 IP白名单
- 7.5.2 摘要认证
- 7.5.3 OAuth认证
- 7.6 防止接口重放
- 7.6.1 使用时间戳
- 7.6.2 使用Nonce
- 7.6.3 同时使用时间戳和Nonce
- 7.7 小结
- 第8章 PHP业务逻辑安全
- 8.1 短信安全
- 8.1.1 短信的安全隐患
- 8.1.2 短信安全策略
- 8.2 敏感信息泄露
- 8.2.1 登录密码泄露
- 8.2.2 登录信息泄露
- 8.2.3 资源遍历泄露
- 8.2.4 物理路径泄露
- 8.2.5 程序使用版本泄露
- 8.2.6 JSON劫持导致用户信息泄露
- 8.2.7 源代码泄露
- 8.3 人机识别策略
- 8.3.1 图片验证码
- 8.3.2 短信验证码
- 8.3.3 语音验证码
- 8.3.4 其他验证方式
- 8.4 常见业务流程安全
- 8.4.1 注册安全
- 8.4.2 登录安全
- 8.4.3 密码找回安全
- 8.4.4 修改密码安全
- 8.4.5 支付安全
- 8.5 其他业务安全
- 8.6 小结
- 第9章 应用软件安全
- 9.1 应用指纹安全
- 9.2 服务器端口安全
- 9.3 Apache的使用安全
- 9.3.1 运行安全
- 9.3.2 访问安全
- 9.3.3 隐藏Apache版本号
- 9.3.4 目录和文件安全
- 9.3.5 防止目录遍历
- 9.3.6 日志配置
- 9.3.7 413错误页面跨站脚本漏洞
- 9.3.8 上传目录限制
- 9.4 Nginx的使用安全
- 9.4.1 运行安全
- 9.4.2 项目配置文件
- 9.4.3 日志配置
- 9.4.4 目录和文件安全
- 9.4.5 隐藏版本号
- 9.4.6 防止目录遍历
- 9.4.7 Nginx文件类型错误解析漏洞
- 9.4.8 IP访问限制
- 9.5 MySQL的使用安全
- 9.5.1 运行安全
- 9.5.2 密码安全
- 9.5.3 账号安全
- 9.5.4 数据库安全
- 9.5.5 限制非授权IP访问
- 9.5.6 文件读取安全
- 9.5.7 常用安全选项
- 9.5.8 数据安全
- 9.6 Redis的使用安全
- 9.6.1 密码安全
- 9.6.2 IP访问限制
- 9.6.3 运行安全
- 9.7 Memcache的使用安全
- 9.7.1 IP访问限制
- 9.7.2 使用SASL验证
- 9.8 小结
- 第10章 企业研发安全体系建设
- 10.1 微软工程项目安全简介
- 10.2 OWASP软件保障成熟度模型简介
- 10.3 建立合理的安全体系
- 10.3.1 制定安全规范标准
- 10.3.2 业务需求安全分析
- 10.3.3 编码过程安全
- 10.3.4 进行安全测试
- 10.3.5 线上安全
- 10.4 安全应急响应
- 10.5 小结
- 附录
- 附录1 PHP各版本漏洞
- 附录2 常见PHP开源系统指纹
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。