【问题标题】:.htaccess allow localhost problem.htaccess 允许本地主机问题
【发布时间】:2010-11-19 20:35:21
【问题描述】:

情况是这样的……

我有一个计划运行的 cron 作业用于备份我的数据库。由于 php 的安装方式,我不得不使用 lynx 来访问执行备份的 php 脚本。

因为这个脚本必须存在于我的 public_html 文件夹中,所以我想拒绝所有请求,除了直接来自我的服务器的请求(即:localhost)。另外,我假设我将来自的 ip 是 127.0.0.1。我不确定这是否属实,但我想不出在这种情况下我的 ip 还会是什么。我对 cron 作业运行并从 127.0.0.1 访问脚本是否正确?

这是我的 .htaccess 的样子:

order allow,deny
deny from all
allow from 127.0.0.1

因此,我不断收到 403 Forbidden。这就是我想为除了我自己以外的所有人做的事情。也许我的做法是错误的……有人知道我做错了什么吗?

【问题讨论】:

    标签: .htaccess localhost


    【解决方案1】:

    使用相反的顺序,即:

    order deny,allow
    deny from all
    allow from 127.0.0.1
    

    【讨论】:

    • 啊,感谢您指出这一点!不知道我为什么这样做....另外,我发现我需要允许我的服务器访问的 ip 地址而不是 localhost。我认为那是因为我在 cron 作业中使用 lynx 时点击了完全限定的(http://.....)地址。感谢您的帮助。
    • 太棒了,我把手机的 IP 设置为允许。现在我可以做到了。 :)
    • 我认为你也应该允许来自::1,否则它可能不会让你进入(Apache 2.4.7)
    • 如果我想添加除 Require Local 之外的另一个 IP 地址,我应该怎么做? (对于 httpd-xampp.conf)我的意思是,我想允许本地访问和一个外部 IP。我的文件最初是“需要本地”,在它下面我添加了“允许来自 xxx.xxx.xxx.xx”,但它不起作用,因为它显示对该 IP 的访问被拒绝。
    【解决方案2】:

    Require local

    如果满足以下任一条件,则本地提供程序允许访问服务器:

    • 客户端地址匹配127.0.0.0/8
    • 客户端地址是::1
    • 连接的客户端和服务器地址都相同

    这提供了一种方便的方式来匹配源自本地主机的连接:

    Require local

    【讨论】:

      【解决方案3】:

      Leo 的回答解决了我的问题。这是我设置的,因此我可以阻止对图像的直接访问:

      <IfModule mod_rewrite.c>
      <Files ~ "\.(jpg|jpeg|png|gif|pdf|txt|bmp|mp4|mov|ogg|wmv|webm|flv|mpg|mp2|mpeg|mpe|mpv|m4p|m4v|mp3|wav|acc|oga|m4a)$">
         order deny,allow
         deny from all
         Require local
         allow from all
      </Files>
      </IfModule>
      

      我不想输入ip,以防以后本地ip改变

      【讨论】:

        【解决方案4】:

        在我添加以下内容之前,这里的所有答案都不允许我访问 http://localhost:8888/

        allow from localhost
        

        所以就我而言,这是我的整个.htaccess 文件:

        order deny,allow
        deny from all
        # my IP
        allow from xx.xx.xx.xx (use your own IP address here)
        # Local development
        allow from localhost
        

        # 是代码注释。这个文件只允许我从我的浏览器在线(IP)和本地本地访问该站点。

        请记住,当您使用order deny,allow 时,顺序很重要。您首先将deny 放在文件中,然后将allows 放在其下方。

        【讨论】:

          【解决方案5】:

          尝试在您的 /assets/ 文件夹中添加 .htaccess 文件,其中包含以下内容:

          Options +Indexes
          # or #
          IndexIgnore *
          

          这样你会在浏览器中看到你的文件夹是空的。

          【讨论】:

            猜你喜欢
            • 2013-12-24
            • 1970-01-01
            • 2020-04-30
            • 2012-03-22
            • 2017-09-15
            • 2018-08-28
            • 2019-07-07
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多