<table width="100%" border="0" cellspacing="0" cellpadding="5" bgcolor="#649CCC"><tr valign="middle"><td align="left"> <p class="p_Heading1"><span class="f_Heading1">第五章 包含</span></p> </td> <td align="right"> <span style="font-size: 9pt"> <a href="introduction.htm">Top</a> <a href="new_item32.htm">Previous</a> <a href="new_item34.htm">Next</a> </span> </td> </tr></table>
<table width="100%" border="0" cellspacing="0" cellpadding="5"><tr valign="top"><td align="left"><p style="line-height: 1.50;"> 第五章 包含</p><p style="line-height: 1.50;">随着PHP项目的增大,软件设计与组织在代码的可维护性上起着越来越重要的作用。尽管对于什么是最好的编程方式众说纷纭(关于面向对象优点的争论常常发生),但基本上每个开发者会理解和欣赏模块化设计的价值。</p><p style="line-height: 1.50;"> 本章说明了使用包含时会面临的安全问题。脚本中include或require的文件把你的应用分成了逻辑上分离的两部分。我还会着重强调和纠正一些常见的误解,特别是有关于如何编程的问题。</p><p style="line-height: 1.50;"> </p><p style="line-height: 1.50;">小提示</p><p style="line-height: 1.50;"> 当使用include和require时,应该使用include_once与require_once来包含。</p><p style="line-height: 1.50;"> </p><hr noshade="noshade" size="1"/><p style="line-height: 1.50;"> </p></td></tr></table>
- 第一章 简介
- 1.1.PHP功能
- 1.1.1. 全局变量注册
- 1.1.2. 错误报告
- 1.2.原则
- 1.2.1. 深度防范
- 1.2.2. 最小权限
- 1.2.3. 简单就是美
- 1.2.4. 暴露最小化
- 1.3. 方法
- 1.3.1. 平衡风险与可用性
- 1.3.2. 跟踪数据
- 1.3.3. 过滤输入
- 1.3.4. 输出转义
- 第二章 表单及URL
- 2.1. 表单与数据
- 2.2. 语义URL攻击
- 2.3. 文件上传攻击
- 2.4. 跨站脚本攻击
- 2.5. 跨站请求伪造
- 2.6. 欺骗表单提交
- 2.7. HTTP请求欺骗
- 第三章 数据库及SQL
- 3.1. 访问权限暴露
- 3.2. SQL 注入
- 3.3. 数据的暴露
- 第四章 会话与 Cookies
- 4.1. Cookie 盗窃
- 4.2. 会话数据暴露
- 4.3. 会话固定
- 4.4. 会话劫持
- 第五章 包含
- 5.1. 源码暴露
- 5.2. 后门URL
- 5.3. 文件名操纵
- 5.4. 代码注入
- 第六章 文件与命令
- 6.1. 文件系统跨越
- 6.2. 远程文件风险
- 6.3. 命令注入
- 第七章 验证与授权
- 7.1. 暴力攻击
- 7.2. 密码嗅探
- 7.3. 重播攻击
- 7.4. 永久登录
- 第八章 共享主机
- 8.1. 源码暴露
- 8.2. 会话数据暴露
- 8.3. 会话注入
- 8.4. 文件系统浏览
- 8.5. 安全模式
- 附录 A. 配置选项
- 附录B. 函数
- 附录C. 加密