VBS| Ошибки при добавлении списка разрешенных IP в IIS
Задача - закрыть доступ к серверу (WS2003) с иностранных IP
Решение - закрыть доступ всем, потом внести список российских подсетей в список разрешенных. Список есть по адресу http://noc.masterhost.ru/allrunet/runet Реализация: Поскольку вбивать ручками все это нереально, был написан скрипт на PHP, который генерит скрипт на VBS для добваления IP в список рарешенных для IIS. Скрипт на PHP писался из-за незнания VBS. Получилось: Код:
<?php ПРОБЛЕМА: Этот VBS скрипт не работает, выдает ошибку: <...>\ip2.vbs(1741, 1) Microsoft VBScript runtime error: Invalid procedure call or argument НО: Если урезать список IP до, к примеру 25 штук ( http://sync.ministryofmp3.ru/ip.txt ) то все работает. Но мне надо полный список. ВОПРОС: Что делать и кто виноват? Есть ли еще пути решения проблемы русских IP для IIS? |
>> Dim IPList (1728)
>> IPList (0) = "144.206.0.0,255.255.0.0" >> ... >> IPList (1728) = "91.76.0.0,255.252.0.0" Сколько элементов? вроде 1729... |
>> Сколько элементов? вроде 1729...
Я не сомневался в таком ответе! Да, 1729 элементов, но VB создает массив от 0 до 1728! А не просто 1728 элементов, это эквивалентно Dim IPList (0 to 1728). Когда я об этом узнал, сам был немало удивлен. И, кстати, если будет превышение - выскочит ошибка. Проблема не в этом. Как мне посоветовали на форуме Microsoft - скорее всего, там есть пересекающиеся сети, и метод (!!!!!) IPGrant (да, это метод, что для меня было открытием, я ж почти не знаю VB, и не думал, что в нем есть перегрузка операторов) - не пропускает полученный список IP. С помощью различных тестов, я на 80% убедился, что это именно так. Таким образом получаем, что необходимо на основе данного списка IP сформировать новый, очищенный и нормализованный. За сим, тема закрыта. ПС: Обсуждение алгоритма получения "чистого" списка IP уношу в соседний топик. Ариведерчи. |
ох уж этот vbs... постоянно там какие-то "приколы" :] уже не первый раз.
Тему пометил как решённую ;) |
Время: 18:53. |
Время: 18:53.
© OSzone.net 2001-