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

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