2010-12-02 76 views
7

几天前我有一个可怕的问题。我在我的ubuntu服务器上安装了更新程序,这是10个网站的主机。在更新过程中,出现了问题,并且mod_php被禁用。因此,PHP支持不见了,几分钟后(直到我发现有什么问题),用户才得到下载PHP脚本的邀请,而不是看到一个网站。毋庸置疑,将脚本资源暴露给全世界并没有什么更糟糕的了,特别是当数据库凭证保存在内部时。PHP脚本保护

问题:如何配置apache,所以这种情况在将来是不可能的?我应该在apache2.conf中添加哪些行,以便在禁用mod_php的情况下无法下载PHP文件?

+2

我认为你应该在你升级时应该放弃你的apache = | – 2010-12-02 10:09:15

回答

9

只需添加以下到的.htaccess在根目录

php_admin_flag engine on 

在这种情况下,用户将得到HTTP 500错误试图从这个目录读取任意文件及以下,因为没有模块定义的情况下,php_admin_flag指令mod_php关闭。

+0

哈哈,我认为这是有效的。小丑很难看,但它做到了。 – VDVLeon 2010-12-02 10:17:23

+0

这非常好。 – 2010-12-02 10:18:15

5

更安全的方法就是不要将不想访问的内容放在文档根目录中。看到我的回答here它提供了更多的细节;基本的想法是,如果你不想通过URL访问文件,不要将该死的文件放在URL可访问的地方。 99%的应用程序代码不应位于文档根目录下;那么你对你的apache/php设置做什么并不重要,你仍然是安全的。