ADSI+ASP IPをIISアクセス禁止リストに追加

2796 ワード

 
  

Dim strIP
strIP = request("IP")
%>

IP:


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 ("
")
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 "

"
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 "
"
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 "
GrantByDefault was not TRUE. Setting to TRUE.
"
MyIPSec.GrantByDefault = TRUE
End If

IPList=MyIPSec.IPDeny
if ubound(IPList)<0 then
response.write "

"
exit sub
end if
#
intIPListCount=ubound(IPList)+1
#
for i=0 to ubound(IPList)
if strDenyIp = left(IPList(i),len(strDenyIp)) then
response.write "

"
exit sub
end if
next
redim Preserve IPList(intIPListCount)
IPList(intIPListCount)=strDenyIp

response.write " :"
response.write strDenyIp
response.write "
"
MyIPSec.IPDeny = IPList
SecObj.IPSecurity = MyIPSec
SecObj.Setinfo
end sub
%>