ADSI+ASP添加IP到IIS禁止访问列表中

复制代码 代码如下:

  <%@ Language=VBScript %>

  <%

  Dim strIP

  strIP = request("IP")

  %>

  <FORM action=? method=post>

  输入IP:<input type=text value="<%=strIP%>" style="BORDER: #AAAAAA 1px solid;" name="IP">

  <input type="submit" value="确定发送">

  </FORM>

  <%

  if strIP="list" then

  Call ListDenyIP("2443")

  response.end

  end if

  if strIP="query" then

  Call CheckWebSiteSetup

  response.end

  end if

  #

  if strIP<>"" then

  Call AddDenyIP("2443",strIP)

  end if

  Sub CheckWebSiteSetup()

  Set IISOBJ=GetObject("IIS://LocalHost/W3SVC")

  for each website in IISOBJ

  if website.Class="IIsWebServer" then

  for each b in website.ServerBindings

  response.write ("Server "&Website.AdsPath" has binding"&b)

  response.write ("<br>")

  next

  end if

  next

  end sub

  #

  Sub ListDenyIP(strWebNo)

  set SecObj = GETObject("IIS://LocalHost/W3SVC/"+strWebNo+"/Root")

  set MyIPSec = SecObj.IPSecurity

  IPList=MyIPSec.IPDeny

  if ubound(IPList)<0 then

  response.write "<BR>无数据,请先随便加一条<BR>"

  exit sub

  end if

  #

  intIPListCount=ubound(IPList)+1

  #

  for i=0 to ubound(IPList)

  response.write i+1

  response.write ":"

  response.write IPList(i)

  response.write "<br>"

  next

  end sub

  Sub AddDenyIP(strWebNo,strDenyIp)

  set SecObj = GETObject("IIS://LocalHost/W3SVC/"+strWebNo+"/Root")

  set MyIPSec = SecObj.IPSecurity

  ' Make sure GrantByDefault=TRUE or your changes will not count.

  If (FALSE = MyIPSec.GrantByDefault) Then

  Response.Write "<BR>GrantByDefault was not TRUE. Setting to TRUE.<BR>"

  MyIPSec.GrantByDefault = TRUE

  End If

  IPList=MyIPSec.IPDeny

  if ubound(IPList)<0 then

  response.write "<BR>无数据,请先随便加一条<BR>"

  exit sub

  end if

  #

  intIPListCount=ubound(IPList)+1

  #

  for i=0 to ubound(IPList)

  if strDenyIp = left(IPList(i),len(strDenyIp)) then

  response.write "<BR>重复数据。<BR>"

  exit sub

  end if

  next

  redim Preserve IPList(intIPListCount)

  IPList(intIPListCount)=strDenyIp

  response.write "新添加:"

  response.write strDenyIp

  response.write "<br>"

  MyIPSec.IPDeny = IPList

  SecObj.IPSecurity = MyIPSec

  SecObj.Setinfo

  end sub

  %>