我在下面找到了用于添加IP地址以限制IIS 7的命令行
appcmd set config /section:ipsecurity /+"[ipaddress='10.0.0.1',allowed='false']"
IIS 6是否有等效命令?
谢谢!
不,没有内置的Windows命令可以执行此操作。您可以找到人们为缓解这种情况而编写的脚本的证据。
最终,您想要修改名为的配置数据库条目IPSecurity
。事情是这样的:可以在顶层(W3SVC服务)中一直将IPSecurity条目设置为单个文件。因此,您可以为以下任何一项定义安全性:
您问题中的示例在整个服务范围内,因此您要定位IIS://localhost/W3SVC
。如果您只想配置默认网站,请定位IIS://localhost/W3SVC/1/Root
。
一旦知道要修改的级别,就需要确定匹配IP的操作过程。您显然想阻止。这意味着您需要修改IPDeny
列表。
现在,您只需要用您选择的语言编写脚本,该脚本通过ADSI连接到配置数据库,并修改IPDeny列表以包括其他IP。
我已经从MSDN页面修改了一个参数:
Dim SecObj
Dim MyIPSec
Dim IPList
Set SecObj = GetObject("IIS://LocalHost/W3SVC")
Set MyIPSec = SecObj.IPSecurity
If (FALSE = MyIPSec.GrantByDefault) Then
MyIPSec.GrantByDefault = TRUE
End If
if WScript.Arguments.Count = 0 then
WScript.Echo "Missing IP Address"
WScript.Quit(1)
end if
' WScript.Echo "Adding " & WScript.Arguments(0)
IPList = MyIPSec.IPDeny
Redim Preserve IPList (Ubound(IPList)+1)
IPList (Ubound(IPList)) = WScript.Arguments(0)
MyIPSec.IPDeny = IPList
SecObj.IPSecurity = MyIPSec
SecObj.Setinfo
如果您将其另存为blockip.vbs
,则可以通过以下方式调用它:
wscript blockip.vbs 10.0.0.1
仅供参考,这在IIS6上可以正常使用,但是在Win7(IIS 7.5)上,它只能运行一次,然后在列表存在后失败。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句