Может ли кто-нибудь получить доступ к моим веб-методам извне страницы?

StackOverflow https://stackoverflow.com/questions/1404925

  •  05-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

ДА.

Но ты можешь закрепите их легко.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top