htaccess 中的密码和 ip 限制

htaccess 中的密码和 ip 限制

我正在学习如何使用 htaccess。

  1. 首先,我想尝试如何为以下目录设置用户名和密码~/public_html/55/m

    ~/public_html/55/m$ ls -la
    total 24
    drwxr-xr-x 2 tim Domain^Users 4096 2011-12-16 21:39 .
    drwxr-xr-x 3 tim Domain^Users 4096 2011-12-16 21:42 ..
    -rwxr-xr-x 1 tim Domain^Users  271 2011-12-16 21:26 .htaccess
    -rwxr-xr-x 1 tim Domain^Users    8 2011-12-16 21:39 .htpasswd
    -rwxr-xr-x 1 tim Domain^Users  884 2011-12-16 20:02 index.html 
    

    我手动创建了两个文本文件:.htaccess.htpasswd。它们的内容是

    ~/public_html/55/m$ cat .htaccess
    AuthUserFile /home/WIN/local/WIN/tim/public_html/55/m/.htpasswd
    AuthGroupFile /dev/null
    AuthName EnterPassword
    AuthType Basic
    
    Require valid-user
    
    ~/public_html/55/m$ cat .htpasswd
    tim:123
    

    但我无需输入用户名和密码就可以访问网页。不知道为什么?

  2. 其次我想尝试如何限制访问的ip范围 ~/public_html/55/n

    ~/public_html/55/n$ ls -la
    total 16
    drwxr-xr-x 2 tim Domain^Users 4096 2011-12-16 21:54 .
    drwxr-xr-x 4 tim Domain^Users 4096 2011-12-16 21:53 ..
    -rwxr-xr-x 1 tim Domain^Users  292 2011-12-16 21:53 .htaccess
    -rwxr-xr-x 1 tim Domain^Users  884 2011-12-16 21:53 index.html
    

    我手动创建了一个文本文件,.htaccess其内容如下:

    ~/public_html/55/n$ cat .htaccess 
    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName AllowFromBlah
    AuthType Basic
    
    <limit GET>
    order  deny,allow
    deny from all
    allow from xxx.edu
    </Limit>
    

    但我可以从指定 IP 范围之外访问网页 xxx.edu。我想知道为什么?

感谢致敬!

答案1

AllowOverride也许使用虚拟主机配置中的指令可以忽略这些目录的 .htaccess 文件。从http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

当此指令设置为 None 时,.htaccess 文件将被完全忽略。在这种情况下,服务器甚至不会尝试读取文件系统中的 .htaccess 文件。

编辑:Ubuntu 上的配置基于/etc/apache2,其他系统的配置基于/etc/httpd或其他目录。Ubuntu 用户主目录的配置由 处理,mods-available/userdir.conf当链接到 时启用/etc/apache2/mods-enabled。它将主目录指定为/home/*/public_htmlphp4.conf也引用相同的目录。

相关内容