我的大学有多个服务器,它们的镜像数据相同,所以我可以访问
foo.uni.edu/file.PHP bar.uni.edu/file.PHP
问题是,并非所有服务器都安装了PHP,所以任何人都可以下载我的PHP文件,如果他们通过没有安装PHP的服务器建立连接.
有没有办法,可能用.htaccess来避免这种情况?如果安装PHP服务器,只允许打开PHP文件?
如果可以在文档根目录之外存储文件,则可以通过将所有敏感数据存储在docroot之外来解决问题.然后,您可以让您的公共可访问脚本使用include来访问这些文件.
因此,如果您上传到/ username / public_html,并且public_html是您的文档根目录(例如,foo.uni.edu / file.PHP是/username/public_html/file.PHP),那么您将上传到/ username / file.改为使用PHP并将另一个脚本放在/ username / public_html中,它只包含include(‘../ file.PHP’);
在任何情况下这都是很好的做法,以防服务器上的配置错误阻止PHP被解析.
如果未启用mod_PHP,您还可以尝试使用IfModule
和FilesMatch
拒绝访问PHP文件:
<IfModule !mod_PHP.c> <FilesMatch "\.PHP$"> Order Deny,Allow Deny from All </FilesMatch> </IfModule>
如果这不起作用,请尝试使用!mod_PHP5.c.