如果未安装php,则禁用下载php文件

如果未安装php,则禁用下载php文件,php,apache,.htaccess,Php,Apache,.htaccess,我所在的大学有多个服务器,这些服务器上镜像了相同的数据,因此我可以访问这些服务器 foo.uni.edu/file.php bar.uni.edu/file.php 问题是,并不是所有的服务器都安装了PHP,所以任何人都可以下载我的PHP文件,如果他们通过一个没有安装PHP的服务器进行连接的话。 有没有可能使用.htaccess来避免这种情况?与中一样,仅允许在安装了PHP server的情况下打开PHP文件?如果可以在文档根目录之外存储文件,则可以通过将所有敏感数据存储在文档根目录之外来解决

我所在的大学有多个服务器,这些服务器上镜像了相同的数据,因此我可以访问这些服务器

foo.uni.edu/file.php
bar.uni.edu/file.php
问题是,并不是所有的服务器都安装了PHP,所以任何人都可以下载我的PHP文件,如果他们通过一个没有安装PHP的服务器进行连接的话。
有没有可能使用.htaccess来避免这种情况?与中一样,仅允许在安装了PHP server的情况下打开PHP文件?

如果可以在文档根目录之外存储文件,则可以通过将所有敏感数据存储在文档根目录之外来解决此问题。然后,您可以让公开访问的脚本使用
include
访问这些文件

因此,如果您上传到
/username/public\u html
,并且
public\u html
是您的文档根目录(例如,
foo.uni.edu/file.php
/username/public\u html/file.php
),然后,您将上传到
/username/file.php
,并将另一个脚本放在
/username/public_html
中,该脚本只包含类似于
include('../file.php')的内容

在任何情况下,这都是一个很好的实践,以防服务器上的配置错误阻止PHP被解析

如果未启用
mod_PHP
,您还可以尝试使用和拒绝访问PHP文件:

<IfModule !mod_php.c>
    <FilesMatch "\.php$">
        Order Deny,Allow
        Deny from All
    </FilesMatch>
</IfModule>

命令拒绝,允许
全盘否定

如果这不起作用,请尝试
!mod_php5.c

您可以使用
。为什么不只限制对单个(负载平衡)服务器的访问?在尝试访问php文件(在安装了php的服务器中)时,两个mod中的任何一个都会给出权限拒绝错误。服务器是否可能正在运行过时的PHP4安装?如果是,请尝试
!mod_php4.c
。如果那也不行的话,恐怕我会被难倒的。