Есть ли хороший способ защитить вызов веб-службы ASP.Net, выполняемый через Javascript в обработчике событий щелчка кнопки HTML?

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

Вопрос

Цель использования прокси-сервера Javascript для веб-службы с использованием ссылки на службу с помощью Script Manager — избежать загрузки страницы.Если получаемая информация потенциально конфиденциальна, есть ли способ защитить вызов этой веб-службы, кроме использования SSL?

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

Решение

Если вы беспокоитесь о том, что другие люди получат доступ к вашему веб-сервису напрямую, вы можете проверить вызывающий IP-адрес и заголовок хоста и убедиться, что он соответствует ожидаемым IP-адресам.

Если вы беспокоитесь о том, что люди крадут информацию во время ее пути от сервера к клиенту, SSL — единственный выход.

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

Я бы использовал SSL, это также будет зависеть от того, насколько конфиденциальна ваша информация.

Я бы:

  1. Используйте SSL для подключения
  2. Поместите в запрос токен на основе времени и сеанса.
  3. Проверьте входные данные на соответствие ожидаемым диапазонам на сервере.

SSL предотвращает «человек посередине»

Токенизированные запросы проверяют, что запрос поступает из активного и проверенного сеанса в течение разумного периода времени с момента последнего действия в рамках сеанса.Это предотвращает повторную отправку устаревших запросов и проверяет, что они поступили из источника сеанса (сохраните IP-адрес, пользовательский агент и т. д. на сервере для управления сеансом).

Проверка того, что входные данные находятся в пределах ожидаемых диапазонов, подтверждает, что запрос не был подделан стороной, с которой вы разговариваете.

Хотя SSL был бы лучшим вариантом, существует ряд библиотек шифрования на стороне клиента, которые могут облегчить некоторые проблемы безопасности — см. https://github.com/jbt/js-crypto за хорошую коллекцию

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