繁体   English   中英

如何保护.htaccess的php文件免于php5下载时崩溃

[英]how to protect php file with .htaccess from downloading with php5 crashed

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

在开发过程中遵循的一个好的模式是使用最小的初始化文件,该文件调用驻留在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)

这里的问题是.htaccess是否正在向用户提供文件。 您不能告诉它拒绝访问.php文件,因为在正常使用期间,访问也会被拒绝。 没有正确运行的PHP处理器没有后备行为。

这样做时,也许值得暂时将网络根目录移到“维护中”的站点,以最大程度地降低风险。

假设您使用的是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模块成功加载,第二条规则将生效,这将授予访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM