Вопрос по web-services – Ограничить доступ веб-службы asmx к определенным IP-адресам

5

Мне нужно ограничить доступ веб-службы .asmx к определенным IP-адресам. Я полагаю, что я мог бы добавить жестко проверенную проверку в каждый метод, но это похоже на кошмар обслуживания кода. Могу ли я внести в веб-конфигурацию запись или настройку IIS 6, которую можно применить к файлу .asmx?

Ага. Конечно да. Это работает IIS 6. DMCS
У вас есть доступ к серверу? The Matt
IIS поддерживает ограничение доступа по IP-адресу, а также другие вещи. John Saunders

Ваш Ответ

2   ответа
-1

а затем запросите этот раздел для получения белого списка IP-адресов.

У меня есть раздел хранилища конфигурации, но, опять же, я не хочу писать логику проверки IP для каждого метода. Я ищу что-то более элегантное. Настройка IIS или что-то вроде FormsAuthentication, но только для этого файла, который будет ограничен IP-адресами, которые я хочу. DMCS
Я добавил способ IIS в другом ответе, но я буду придерживаться этого. Он хранит ваш белый список в web.config, где больше конфигурации вашего сайта, и позволяет вам быть более гибким, если вы хотите что-то более хитрое, чем белый список или черный список. Я думаю, что это было бы более элегантным решением. Кроме того, маршрут метаданных IIS может потеряться, если кто-то что-то изменит в дереве и перезапишет.
Проблема заключается в коде в каждом из вызовов веб-службы, который плохо обслуживается и сохраняется во всех будущих добавлениях к файлу .asmx другими разработчиками (которые, несомненно, забудут). Белый список в IIS - лучший способ сохранить его простым, поэтому, если изменения действительно происходят, не нужно отправлять целый новый набор кодов через QA (дорогостоящий процесс с точки зрения времени и ресурсов), а затем повторно развертывать (не так дорого). как QA, но все еще тратит впустую время людей). Так что самое быстрое, что нужно сделать, это сохранить их в белом списке IIS 6. :) DMCS
С другой стороны, я могу утверждать, что метод IIS ухудшается в обслуживании и может быть забыт при переходе на новую машину. Все сводится к тому, работает ли белый список IIS для вас и что легче поддерживать. Рад, что смог помочь в любом случае!
10

Перейдите на вкладку «Безопасность файла» и нажмите кнопку «Изменить» в разделе «Ограничения IP-адреса и имени домена».

Нажмите «Отказано в доступе»; переключатель, затем добавьте свои IP-адреса из белого списка в список.

Для IIS 7.5 это немного сложно, поскольку файл не отображается на панели навигации. Вам необходимо перейти на вкладку «Представление содержимого» (в нижней части окна), щелкнуть правой кнопкой мыши файл и выбрать «Переключиться на представление компонентов». Откройте IP-адрес и ограничение домена, нажмите «Изменить параметры функции» и выберите запретить неуказанные хосты. Теперь вы можете добавить авторизации, нажав Добавить разрешить запись.

Хороший улов ... Я не понял, что вы должны добавить его отдельно.
Обратите внимание, что IP-безопасность - это функция, которая не предустановлена в Windows 7 / IIS 7.5. Вы должны добавить его:iis.net/configreference/system.webserver/security/ipsecurity/…

Похожие вопросы