我的地盘我做主 局域网的访问控制浅析

http://tech.ddvip.com   2007年06月21日    社区交流 收藏本文

内容摘要:作为一个网络管理员,恐怕最头疼的就是内网用户上网时不注意,经常会中各种各样的病毒,或者下载各种各样的软件,这样对整个局域网的安全造成很大的隐患。另外,单位的领导也不希望员工在上班时间聊天、游戏,影响工作效率。在这样的情况下,就要求网管限制不同用户的上网权限,我们今天就来谈谈如何封IP、IM聊天软件限制下载,甚至是禁止内网用户上网等等。

  如何封IP?

  作为一个网络管理员,恐怕最头疼的就是内网用户上网时不注意,经常会中各种各样的病毒,或者下载各种各样的软件,这样对整个局域网的安全造成很大的隐患。另外,单位的领导也不希望员工在上班时间聊天、游戏,影响工作效率。在这样的情况下,就要求网管限制不同用户的上网权限,我们今天就来谈谈如何封IP、IM聊天软件限制下载,甚至是禁止内网用户上网等等。

  我们先来说说如何封IP地址。大家上网随便搜索一下,就会发现有很多的方法来封IP地址,但是同样也有很多方法来破解。下面要介绍的方法,是一段程序代码,不仅能封IP,还能按照网段封。

  代码如下:

<?php
function IP_match($client_ip, $ip_pattern, $mask){
  $ret = true;
  $ret = $ret && ereg("^([0-9]{1,3}).([0-9]{1,3}).([0-9]
{1,3}).([0-9]{1,3})$", $client_ip, $ret_ip1);
  $ret = $ret && ereg("^([0-9]{1,3}).([0-9]{1,3}).([0-9]
{1,3}).([0-9]{1,3})$", $ip_pattern, $ret_ip2);
  $ret = $ret && ereg("^([0-9]{1,3}).([0-9]{1,3}).([0-9]
{1,3}).([0-9]{1,3})$", $mask, $ret_mask);
  if (!$ret) {
     return false;
  }
  for ($i = 1; $i < 5; $i++) {
     if (((int)$ret_ip1[$i] & (int)$ret_mask[$i]) !=
((int)$ret_ip2[$i] & (int)$ret_mask[$i])) {
        return false;
     }
  }
  return true;
}
?>

  其中:

  $client_ip:客户端IP

责编:豆豆技术应用

正在加载评论...