如何保护php文件与.htaccess下载与php5崩溃

时间:2010-10-15 02:19:54

标签: php .htaccess

昨晚我对网络服务器进行了一些管理员更改。我用的是php。更新后php处理器失败,如果有人进入我的主页,php页面只会下载并向访问的任何人显示专有代码和密码。所以我想知道是否有办法阻止使用.htaccess下载任何形式的php文件 - 但仍允许正常查看文件。

3 个答案:

答案 0 :(得分:5)

在开发过程中要遵循的一个好模式是使用最小的初始化文件,该文件调用驻留在webroot之外的实际应用程序。这样,在这种情况下,只暴露出没有关键信息的最小存根。

简化示例:

/
  /app
    critical_code.php
  /webroot
    .htaccess   <- rewrites all requests to index.php
    index.php   <- invokes ../app/critical_code.php (or other files as requested)

答案 1 :(得分:3)

这里的麻烦是.htaccess正在向用户提供文件,或者不是。您不能告诉它拒绝访问.php文件,因为在正常使用期间访问也将被拒绝。如果PHP处理器没有正确运行,则没有回退行为。

也许值得暂时将网络根目录转移到指向“维护不足”的网站,以便做大事这样做,尽可能地降低风险。

答案 2 :(得分:1)

假设你正在使用Apache,你的.htaccess文件看起来就像这样。

<FilesMatch ".*\.php">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
<IfModule php5_module>
    <FilesMatch ".*\.php">
        Allow from all
        Satisfy All
    </FilesMatch>
</IfModule>

第一条规则拒绝访问所有.php文件。默认情况下,用户将看到403(禁止)错误。

如果PHP5模块成功加载,第二条规则将生效,授予访问权限。