IIS的IP限制管理工具

IISConfigTool

先放GitHub

IIS不同于apache、nginx使用图形化界面管理,虽然“简化”了操作,但也有不方便的地方,比如一次禁用100个IP,点100次添加IP限制那也是一件很绝望的事。

于是组长看我闲着没事干,就让我做这么一个需求(我也很绝望啊)。微软的东西都是一些黑盒,官方文档也不一定全。(虽然讲道理,可以反编译IIS管理控制台)反正这个东西全工做了2周的样子,兼容了IIS6、7。理论上IIS6以下都可以跑6的那套逻辑,IIS7及以上可以跑AppCmd工具命令行。(内部没有调用跑命令行的方法,而是用的Microsoft.Web.Administration,这个东西看上去每代IIS都不一样)

就研究结果来看,IIS和apache、nginx这些http sever没啥差别,都用“一个”配置文件来保存配置,配置也是基本可读的。IIS6是 C:\Windows\System32\inetsrv\MetaBase.xml 这么一个文件,IIS7则是 C:\Windows\System32\inetsrv\config\applicationHost.config 这个文件,不过IIS7情况还要复杂一点,他还会在 C:\inetpub\history 留一份文件,有一次我把 inetsrv\config 下的文件改了之后,那个文件不再发生变化,这让我对IIS7到底读写哪个文件更绝望了。

这个工具虽然起名叫IISConfigTool,但是当中只做了IP管理的部分,重启站点这种功能并没有做(其实这个反而简单)。其中还优化了对IP段的处理,把IP段计算子网,按子网操作。(当然这个功能比较不人性化,会把IP段切得断断续续的,可以改config文件修改是否启用这个功能)

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注