科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道CCProxy灵活设置上网时限

CCProxy灵活设置上网时限

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

某些单位需要规定上网的时间限制,那么就要应用CCProxy来灵活设置上网时限,具体内容请看如下介绍。

作者:吴昱 来源:网管员世界 2008年10月23日

关键字: CCProxy 安全策略

  • 评论
  • 分享微博
  • 分享邮件

  我们单位某些人员每天8:00~16:00可以上规定的网站,下午16:00后可上网不受限制。如果能只在配置文件中更换指定的人员,其余的保持不变,这样就可以达到定时开关部分固定人员上网,又不影响一些临时人员上网的目的。怎么实现呢?如果能够把账号文件读出来,修改相应的账号,再把文件写回去不就解决了吗?

  经过考虑选择使用脚本来完成,简单实用。

  先来观察一下代理服务器软件CCProxy的账号信息是如何储存的,下面是一个账号的信息:

  [User006] ——账号ID

  UserName=VOIP-1——账号名称

  Password=——账号密码

  MACAddress=——网卡地址

  IPAddressLow=192.168.0.8——地址段开始地址

  IPAddressHigh=192.168.0.8——地址段结束地址

  ServiceMask=98——开启服务的组合码

  MaxConn=-1——最大连接数

  BandWidth=-1——使用带宽数

  WebFilter=0——网站过滤类型(-1为无限制)

  TimeSchedule=-1——时间过滤类型

  EnableUserPassword=0——使用密码判断连接用户(0为不采用,1为采用)

  EnableIPAddress=1——使用IP判断连接用户(0为不采用,1为采用)

  EnableMACAddress=0——使用MAC判断连接用户(0为不采用,1为采用)

  对我们有用的是IPAddressLow、IPAddressHigh、WebFilter这3条语句,

  由于是单机,因此IPAddressLow=IPAddressHigh。注意,

  WebFilter语句在IPAddressHigh下第4行,这在脚本中有所体现。

  此脚本需要服务器具有FSO并且Wsript 5.6以上,具体脚本如下:

  dim fs1,fs2

  dim file2

  dim ts,s

  dim i

  '声明FSO对象

  set fs1=CreateObject(“Scripting.FileSystemObject”)

  set fs2=CreateObject(“Scripting.FileSystemObject”)

  '判断是否有相应的账号文件是否存在,若存在继续进行,否则直接到结束释放对象

  if fs1.FileExists(“D:\CCproxy\accinfo.ini”)then

  '设置ts为打开的账号文件

  set ts=fs1.OpentextFile(“D:\CCproxy\accinfo.ini”,1)

  '创建一个新的文件,用以储存更改后数据

  set file2 = fs2.CreateTextFile(“D:\CCproxy\accinfo2.ini”, True)

  '当没有到达文件尾

  Do while ts.AtEndOfLine<>true

  '读取一行

  S = ts.ReadLine

  '如果是需更换的IP,则进行

  if trim(S)=trim(“IPAddressHigh=192.168.0.122”)

  or trim(S)=trim(“IPAddressHigh=192.168.0.40”) or trim(S)

  =trim(“IPAddressHigh=192.168.0.195”) then

  '把本行写入file2文件中

  file2.WriteLine s

  '继续往下读三行

  for i=1 to 3

  S = ts.ReadLine

  file2.WriteLine s

  Next

  '第四行

  S = ts.ReadLine

  '判断如果原来是关闭的就开启,原来是开启的就关闭,乒乓开关

  if S=“WebFilter=0” then

  S=“WebFilter=-1”

  else

  S=“WebFilter=0”

  end if

  '写入file2文件

  file2.WriteLine s

  else

  '不是需更换的IP直接写入file2

  file2.WriteLine s

  end if

  '循环

  loop

  '循环完毕后关闭对象

  file2.close

  ts.close

  '删除原配置文件

  if fs1.FileExists(“D:\CCproxy\accinfo.ini”) then

  fs1.DeleteFile(“D:\CCproxy\accinfo.ini”)

  end if

  '把新文件更名为配置文件

  if fs2.FileExists(“D:\CCproxy\accinfo2.ini”) then

  fs2.MoveFile “D:\CCproxy\accinfo2.ini”,“D:\CCproxy\accinfo.ini”

  end if

  end if

  '释放对象

  set fs1=nothing

  set fs2=nothing

  运行前上网有限制(如图1)。运行后上网限制取消(如图2)。

图1 有上网时限

图2 上网限制取消

  使用此脚本写一简单批处理:

  '无回显运行脚本

  c:\winnt\system32\cscript.exe /nologo d:\\ccproxy.vbs

  '下面两句合起来就是重起CCProxy服务

  net stop ccproxy

  net start ccproxy

  此脚本结合计划任务(如图3),每周1-5早上7:58关闭上网,经过8小时后15:58开启上网,星期六和星期天开启上网。

图3 设置上网时限

  经此,问题得以解决,开启部分人员上网不会影响到其他人员,并且定时执行,解放了网管的一部分精力。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章