我试图将对网站的访问限制为一小组 IP 地址。我是 Mac OSX Web 服务器的普通用户。我对有限访问的第一次尝试是创建一个.htaccess
order deny,allow
deny from all
allow from 192.168.0.1
其中 192.168.0.1 是我想要允许在我想要限制访问的网站的子目录中的机器的 IP 地址。据我所知,该.htaccess
文件没有执行任何操作,因为我可以从 192.168.0.1 和 192.168.0.2 访问子目录中的文件。估计是web服务器的管理员没有启用.htaccess 覆盖。
在网站的顶层目录中有一个名为.www_access
:
Options +Includes
我找不到有关该文件的任何信息。将文件复制到子目录并添加.htaccess
内容以给出.www_access
以下内容:
Options +Includes
order deny,allow
deny from all
allow from 192.168.0.1
之类的作品。我可以从 192.168.0.1 访问子目录中的文件,但无法从 192.168.0.2 访问它们,但是当我尝试从 192.168.0.2 访问时,我收到“500 内部服务器错误”,我期待“403 访问”禁止”。添加错误文档重定向到.www_access
Options +Includes
ErrorDocument 500 http://www.google.com
order deny,allow
deny from all
allow from 192.168.0.1
没有影响。
鉴于我不知道.www_access
在做什么,我不确定我应该走这条路。如果 Web 服务器不支持文件,是否可以将对网站的访问限制为一小组 IP 地址.htaccess
?
Web 服务器已安装 PHP,但不允许网页使用它。如果我创建一个 php 测试文件
#! /usr/bin/php
<?php
phpinfo();
?>
然后通过 ssh 进入 Web 服务器,我可以从命令行运行它并获取大量信息。如果我随后尝试从浏览器访问它,我只会取回代码。我认为网络服务器上还安装了其他脚本语言,但据我所知,没有一个可以从网络访问。
答案1
我最终让网络服务器管理员回复了我。无论出于何种原因,他们决定重命名.htaccess
为.wwwaccess
.我对错误页面的问题与管理员如何设置代理/防火墙有些相关。
答案2
如果 Web 服务器不支持 .htaccess 文件,是否可以将对网站的访问限制为一小组 IP 地址?
无需启用文件即可更改 Apache 虚拟主机的定义.htaccess
。无论如何,这有点快。只需要求他们将站点限制在某些子网内即可。
<Directory "<file system path>">
Options Indexes MultiViews
FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 192.168.0.0/24
</Directory>