【问题标题】:Block/Allow from IP using DNS provider no-ip.org htaccess使用 DNS 提供程序 no-ip.org htaccess 从 IP 阻止/允许
【发布时间】:2012-08-03 00:04:58
【问题描述】:

我有一个安全网站(.htaccess = 全部拒绝),我想允许某些人访问

但是,他们使用的是移动笔记本电脑,并且拥有由 ISP 分配给他们的动态 IP

所以,我下载了 no-ip 客户端,它应该给他们一个可以解析为 IP 的主机。

然而,当我把

Allow from xxx.no-ip.org

在.htaccess文件中,我还是得到了禁止页面。

我允许其他固定 IP 位置 - 并且正在工作 - 我已经测试 xxx.no-ip.org 使用 http://www.webyield.net/ipa.php 解析为我想要的 IP。

有什么想法我在这里做错了吗?

【问题讨论】:

  • 正如duskwuff 指出的那样,no-ip 没有帮助,因为HTTP 中没有使用客户端域名,并且您的服务器无法知道它(反向DNS 除外,它不适用于动态IP)。

标签: apache .htaccess dns ip


【解决方案1】:

Apache AllowDeny 规则使用通配符(例如,Allow from *.example.com),因此适用于反向 DNS。您的用户的 IP 地址未反转为 no-ip.org 地址(他们可能正在解析特定于 ISP 的内容),因此 Apache 拒绝他们访问。

您最好只为他们提供所有用户名和密码,并使用 HTTP 身份验证(通过mod_authz_user 或类似方式)授予他们访问权限。

【讨论】:

    【解决方案2】:

    这可以通过使用脚本来实现(根据您的需要进行修改):

    #!/bin/bash
    # Dynamic IP .htaccess file generator
    # Written by Star Dot Hosting
    # www.stardothosting.com
    
    dynDomain="$1"
    htaccessLoc="$2"
    
    dynIP=$(/usr/bin/dig +short $dynDomain)
    
    echo "dynip: $dynIP"
    # verify dynIP resembles an IP
    if ! echo -n $dynIP | grep -Eq "[0-9.]+"; then
        exit 1
    fi
    
    # if dynIP has changed
    if ! cat $htaccessLoc | /bin/grep -q "$dynIP"; then
    
            # grab the old IP
            oldIP=`cat /usr/local/bin/htold-ip.txt`
    
            # output .htaccess file
            echo "order deny,allow" > $htaccessLoc 2>&1
            echo "allow from $dynIP" >> $htaccessLoc 2>&1
            echo "allow from x.x.x.x" >> $htaccessLoc 2>&1
            echo "deny from all" >> $htaccessLoc 2>&1
    
            # save the new ip to remove next time it changes, overwriting previous old IP
            echo $dynIP > /usr/local/bin/htold-ip.txt
    fi
    

    不仅仅是 cron 它在 .htaccess 文件中生成一个新行:

    */15 * * * * /bin/sh /usr/local/bin/.sh yourhostname.no-ip.org /var/www/folder/.htaccess > /dev/null 2>&1
    

    来源:https://www.stardothosting.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-03
      • 2017-09-18
      • 2010-11-30
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      相关资源
      最近更新 更多