发现现在的项目是把所有的包含文件放在主目录下面,如下图:
网站目录为public,除了入口文件,所有的源码及配置文件,都在网站目录外。
刚开始没有意识到为什么这么做,后来想了想,真的很有必要,否则很容易就吧源代码和一些重要信息暴露在外了:
(1)比如说.inc扩展名的配置文件,和其它文本类型的文件,直接就可以在浏览器上访问了,很多能这里面就有数据库的账号啊
(2)如果你的apache还没有对PHP支持的时候,php文件也会默认作为文本类型在浏览器上访问【升级apache,或修改配置的时候可能出现】
如果将你的程序包含在网站目录之外,就避免了保留私密信息的危险。当然,你可以在apache上配置如禁止在浏览器上访问.inc文件:
- ~ ".inc$">
- Order allow,deny
- Deny from all
类似的很多细节很容易被运维人员忘记。
转载请注明地址: http://www.phpddt.com/php/php-exposure-code.html 尊重他人劳动成果就是尊重自己!