首页 文章

使用.htaccess拒绝访问目录中的所有PHP文件

提问于
浏览
3

我试图拒绝任何在特定目录中浏览PHP文件的人访问:

example.com/inc/

我创建了一个带有以下内容的example.com/inc/.htaccess文件:

Order deny,allow
Deny from all

当我尝试访问其中一个文件时,这会导致403 Forbidden响应 . 例如:example.com/inc/file.php

问题是,我的Web服务器也被拒绝访问,我的应用程序停止工作 .

我如何拒绝访问冲浪这些PHP文件的人,但允许我的共享Web服务器访问?

注意:我正在使用GoDaddy共享主机 .

4 回答

  • 1

    我只会使用规则并阻止用户输入的访问权限 . 这将阻止输入的任何php文件 .

    RewriteEngine On
    RewriteRule ^.*\.php$ - [F,L,NC]
    

    根据您的评论进行修改 . 试试这种方式 .

    <Files (file|class)\.php>
    order allow,deny
    deny from all
    allow from 127.0.0.1
    allow from 192.168.0.1
    </Files>
    

    将192.168.0.1替换为您的服务器IP地址 .

  • 2

    使用正确的目录结构将您的文件放到lib /目录中,并将其包含在此目录中不存在的文件中 . 这是常见框架的工作原理 .

    您甚至可以将您的URL映射到web /目录并将lib放在一个目录中,然后您确定无法访问您的.php文件,只能访问index.php和assets .

    您可以阅读它是如何解决的,例如在Symfony2 _1518539中它会给你一些线索 .

  • 4

    要阻止对以 .php 结尾的所有文件的导航访问,您可以使用:

    RedirectMatch 403 ^.*\.php$
    
  • 1

    要仅拒绝访问php文件,您可以使用:

    <Files *.php>
    order allow,deny
    deny from all
    </Files>
    

相关问题