为了保护带有敏感信息的php文件(如数据库连接和登录信息)的具体原因,我已经看到建议将部分或全部php包含文件存储在Web文档根目录(我的情况下为username/public_html)之外的某些地方.如果Web服务器打嗝并停止保护php文件,那么它们对于知道在哪里看的外人来说是"可见的".
对我来说这似乎有点偏执,但我猜这些人之前已经被严重烧伤所以我愿意继续这样做.该建议通常采用包含文件的形式,例如"../include_files/",因此它不直接在文档根目录中,也不能通过Web服务器直接访问外部人员.
我的问题是:这种方式之间的安全性存在显着差异,只是将"include_files"目录放在文档根目录下并在其中粘贴.htaccess文件(带有相应的条目)?将.htaccess文件放在'../include_files/'中会有什么重大改进吗?
TIA,
蒙特
Bre*_*ley 15
使用.htaccess会增加开销,因为Apache需要检查和处理另一个项目.
将文件保留在Web根目录之外并不是偏执狂,这是一种很好的做法.如果有人直接访问其中一个"包含"文件会发生什么,并且由于未加载所有必备文件而导致显示错误?
每个文件都需要进行自己的安全检查,以确保它在预期的环境下运行.Web可访问区域中的每个可执行文件都是潜在的安全漏洞.
这真的取决于你拥有的东西include_files.最重要的是,您将任何凭据放在文档根目录之外(数据库登录等).其他一切都是次要的,并不重要.
如果您不希望任何人窃取您的源代码,请尝试遵循Zend约定:
application
library
public
Run Code Online (Sandbox Code Playgroud)
DocumentRoot指向public并且只包含媒体文件,js/css文件.HTML /视图,数据库逻辑,配置/凭据都在application.第三方图书馆在library.