注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

谷搜互联网应用www.iguso.com

谷搜专注企业邮箱十二年

 
 
 

日志

 
 

如何限制用户端对你的 WWW 连线呢?  

2015-01-30 10:10:01|  分类: Linux技术文章 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

浏览权限的设定动作 (order, limit)

  你该如何限制用户端对你的 WWW 连线呢?你会说,那就利用 iptables 这个防火墙嘛!那有什么难的?问题是, 如果同一个 IP 来源,他某些网页可以浏览,但某些网页不能浏览时,该如何设定?iptables 仅能一口气开放或整个拒绝, 无法针对 WWW 的内容来部分放行。那该如何处理?就透过 apache 内建的 order 项目来处置即可。 先来回忆一下 order 搭配 allow, deny 的相关限制:

  Order deny,allow:以 deny 优先处理,但没有写入规则的则预设为 allow。常用于:拒绝所有,开放特定的条件;

  Order allow,deny:以 allow 为优先处理,但没有写入规则的则预设为 deny。常用于:开放所有,拒绝特定的条件。

  如果 allow 与 deny 的规则当中有重复的,则以预设的情况 (Order 的规范) 为主。

  举例来说,如果我们的首页目录想要让 192.168.1.101 及政府部门无法连线,外贸企业邮箱其他的则可以连线, 由上面的说明你可以知道这是『开放所有,拒绝特定』的条件,所以你可以这样做设定:

  [root@www ~]# vim /etc/httpd/conf/httpd.conf

  Options FollowSymLinks

  AllowOverride None

  Order allow,deny

  Allow from all

  Deny from 192.168.1.101 <==约在 344 行新增底下两行!

  Deny from .gov.tw

  [root@www ~]# /etc/init.d/httpd restart

  注意一下,因为 Order 是『 allow,deny 』,所以所有规则当中属于 allow 的都会被优先提到最上方, 为了避免这个设计上的困扰,所以建议你直接将 allow 的规则写在最上方。 而由于规则当中 192.168.1.101 隶属于 all 当中 (all 代表所有的嘛!),因此这个设定项目则为预设值, 亦即为 deny 啦!那个 .gov.tw 的设定项目也一样。如果是底下的模样:

  [root@www ~]# vim /etc/httpd/conf/httpd.conf

  # 底下可是个错误的示范,请仔细看下个段落的详细说明哦!

  Options FollowSymLinks

  AllowOverride None

  Order deny,allow

  Deny from 192.168.1.101

  Deny from .gov.tw

  Allow from all

  虽然 deny 会先挪到上方来处理,不过因为 192.168.1.101 是在 all 的范围内,美国空间所以发生重复, 因此这个设定值将会以预设的 allow 为主,因此就无法限制住这个 192.168.1.101 的存取啦! 这边很容易搞错的呐!我也是常常搞到头昏脑胀的~

  例题:

  如果有个应该要保护的内部目录,假设在 /var/www/html/lan/ , 我仅要让 192.168.1.0/24 这个网域可以浏览的话,那么你应该要如何设定的好?

  答:

  这个案例当中有点像是『拒绝所有连线,仅接受特定连线』的样子,因此可以使用 deny,allow 那个情况, 所以你可以这样做:

  Options FollowSymLinks

  AllowOverride None

  Order deny,allow

  deny from all

  allow from 192.168.1.0/24

  事实上,如果想要让某个网域或者是 IP 无法浏览的话,最好还是利用 iptables 来处理比较妥当。 不过如果仅是某些重要目录不想让人家来查阅的话,那么这个 allow, deny 与 order 的设定资料可就很值得参考了。

  而除了这个 order 设定值之外,我们还有个限制用户端能进行的动作的设定哦! 那就是 Limit 这个设定啦!举例来说,如果我们想要让使用者在 /var/www/html/lan 这个目录下仅能进行最阳春的 GET, POST, OPTIONS 的功能,企业邮箱除了这几个之外的其他功能通通不允许, 那么你可以这样做:

  [root@www ~]# vim /etc/httpd/conf/httpd.conf

  AllowOverride none

  Options FllowSymLinks

  # 先允许能够进行 GET, POST 与 OPTIONS 啦!

  Order allow,deny

  Allow from all

  # 再规定除了这三个动作之外,其他的动作通通不允许啦!

  Order deny,allow

  Deny from all

  透过 Limit 与 LimitExcept 就能够处理用户端能够进行的动作啦!也就有办法针对你的资料进行细部保护了。 不过这些保护真的很细部,一般小网站大致上用不到 Limit 这个玩意儿说。

  评论这张
 
阅读(5)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017