安全的PHP编程指南
1. 敏感数据隐藏
在Web服务器中,位于文档树且具有足够权限的任何文档,都可能被能够执行GET命令的机制检索,即便它未在其他网页中链接,或其扩展名未被服务器识别。例如,创建一个包含 “my secret stuff” 的文件,将其保存到公共HTML目录下,使用奇怪的扩展名(如 .zkgjg )。尽管服务器可能不识别该扩展名,但仍会尝试提供数据。用户只需知道文件名,再加上一些技巧和利用服务器配置缺陷的能力,就可能找到受限文件。不过,有两种简单方法可解决此问题:
- 隐藏文档根目录 :在Apache的 httpd.conf 文件中, DocumentRoot 配置指令指定了服务器视为公共HTML目录的路径。若未采取其他防护措施,该路径下有足够权限的文件,即使扩展名未被识别,也能被提供。但用户无法查看该路径外的文件。因此,可将配置文件放在 DocumentRoot 路径外,使用 include() 函数将这些文件包含到PHP文件中。例如:
DocumentRoot C:/apache2/htdocs # Windows
DocumentRoot /www/apache/home # Unix
若使用日志包将网站访问信息写入一系列文本文件,可将这些文件保存到路径外的目录:
订阅专栏 解锁全文
3111

被折叠的 条评论
为什么被折叠?



