Может ли кто-нибудь получить доступ к моим WebMethods снаружи страницы? - PullRequest
0 голосов
/ 10 сентября 2009

У меня есть страница, и у нее есть веб-методы. Я могу использовать их со страницы aspx через ScriptManager. Мне интересно, может ли кто-нибудь получить доступ к этим методам с внешней стороны страницы, если это как я могу защитить WebMethods?

Ответы [ 4 ]

4 голосов
/ 10 сентября 2009

Ваши веб-методы будут иметь такую ​​же безопасность, как и ваши веб-страницы. Если вам необходимо обеспечить безопасный доступ к ним, проверьте допустимый сеанс, аутентифицированного пользователя и т. Д., Прежде чем разрешить действие. Запрос к веб-методу должен включать различные файлы cookie, необходимые для определения того, прошел ли аутентификация пользователь, выполняющий запрос. На основании личности аутентифицированного пользователя, его ролей и т. Д. Вы можете определить, следует ли обрабатывать запрос. Если вы используете веб-конфигурацию для защиты своих страниц, защита, применяемая к странице, должна также применяться к веб-методам на странице.

Обратите внимание, что вы не можете гарантировать, что кто-то не будет просто отправлять запрос независимо от браузера (то есть, что запрос всегда находится внутри пользовательского интерфейса вашего приложения). Вам необходимо выполнить те же проверки безопасности, что и для любой из ваших страниц.

Обратите внимание, что здесь речь идет о защите веб-методов, добавленных на страницу ASPX. Для веб-сервисов аутентификация и авторизация могут обрабатываться совершенно по-разному. Например, учетные данные могут требоваться при каждом запросе и могут быть частью «конверта» или параметра самого метода. Защита веб-сервисов, вероятно, является предметом отдельного вопроса.

3 голосов
/ 10 сентября 2009

Полностью защитить веб-методы невозможно. В конце концов, если вы обращаетесь к ним с веб-страницы, они доступны прямо из браузера клиента.

Вы можете добавить дополнительный параметр, который должен содержать какой-то одноразовый пароль / токен, и сгенерировать его при визуализации страницы. Это затруднит кому-то дальнейшее использование вашего веб-сервиса без фактического посещения вашего сайта.

1 голос
/ 10 января 2013

Да.

Но вы можете обезопасить их легко .

1 голос
/ 10 сентября 2009

Да, добавление атрибута WebMethod делает этот метод удаленно вызываемым, что означает, что вы можете вызвать его, например, с помощью javascript. Проще говоря, вы не должны выставлять WebMethods, которые вы не хотите, чтобы третьи лица могли вызывать. Но для получения дополнительной информации относительно безопасности и веб-сервисов, обратитесь к: http://msdn.microsoft.com/en-us/magazine/cc188947.aspx

...