欢迎来到博达网站群学习网!
设为首页 | 加入收藏
当前位置: 首页 >> 知识库 >> 部署类 >> 应用服务 >> 正文

VSB9.4.1中禁用默认域名访问注意事项

发布时间:2016-08-03    浏览次数:

根据网站安全需要,用户服务器环境中的默认域名须禁止访问。禁用方法参照BDQT451安全检测服务单.doc

实际操作中发现VSB9单机部署环境,使用以上方法禁用默认域名访问无效。

测试分析:

VSB WEB使用以上方法禁用默认域名访问有效

VSB 9.4.0之前版本使用以上方法禁用默认域名访问有效

问题定位VSB 9.4.1以后版本包括暂未发布9.5.0),使用以上方法禁用默认域名访问无效。查看该版本httpd.conf配置文件发现较之前版本新增了以下配置:  

#禁止除GET POST HEAD以外的请求;

<Location />

   <LimitExcept GET HEAD POST>

       Order allow,deny

       Deny from all

   </LimitExcept>

</Location>

尝试这段配置注释掉,测试禁用默认域名访问。此时测试成功。

通过查找资料了解,这段配置的作用为禁止除GET POST HEAD以外的请求,以提高网站安全性阅读资料:http://blog.csdn.net/bjwdxs/article/details/6781291

解决方法:

修改httpd.conf配置文件LimitExcept</Directory>指令中,配置如下:

<Directory />

  <LimitExcept GET HEAD POST>

       Order allow,deny

       Deny from all

  </LimitExcept>

   Options None

   AllowOverride None

   Order deny,allow

   Deny from all

</Directory>

测试默认域名已禁用,GET HEAD POST以外HTTP请求方法也已被禁用。问题解决!

原因说明:

Apache中配置段的合并的顺序是:

<Directory>

<DirectoryMatch> (<Directory ~>)

<Files><FilesMatch>同时处理;

<Location><LocationMatch>同时处理;

<Location>指令是在最后执行的,所以在配置文件中,我们虽然在<Directory>指令中禁用了默认域名访问,但最后执行<Location>指令判断时,此处是允许GET HEAD POST三种HTTP方法请求访问的。

阅读资料http://www.php100.com/html/webkaifa/apache/2009/0418/1193.html