下载PHP脚本而不是执行它

Mis*_*dex 2 php apache mime-types

downloads在网站上有一个目录,我存储了一堆不同的文件供人们下载(zip,exe,java,php等).问题是我的网站是用PHP编写的,所以Web服务器Apache试图执行脚本而不是让人们下载它们.无法访问Apache配置(我在共享主机上),阻止Apache在单个目录中执行脚本的最简单方法是什么?

我尝试使用mod_mime失败了.AddType不起作用,因为(我猜)一个MIME类型已经与PHP脚本相关联.ForceType不起作用,因为我在目录中存储了不同类型的文件.还有其他选择吗?

Pas*_*TIN 13

如果您有足够的权限,将以下行放在.htaccess您不希望执行PHP脚本的目录中的文件中可能会有以下几点:

php_flag engine off
Run Code Online (Sandbox Code Playgroud)

(刚刚在我的网络服务器上测试过,我得到了一个PHP脚本的来源 - 尚未执行)


Amb*_*ber 5

你可以编写一个单独的PHP脚本,它发送正确的Content-type头,然后readfile()用来传递PHP文件的内容而不用PHP实际执行它们(因为Apache已经将请求传递给PHP,它不再关心).只需确保将其限制为仅提供该目录之外的内容.