Как обеспечить надежные данные запроса веб-сервисов от процесса отладки, то есть скрипача или любого другого инструмента

Я разработал WCF (RestService), и теперь меня беспокоит его безопасность.

С помощью скрипача я получил весь запрос, параметры ответа конкретного сервиса. В качестве примера,

URL of service : ../RemoteService/WebService.svc/Login
Headers : application/json
Body : 
{
"apiSecretKey":"sda564456asdasda45sdsad452635",
"userName":"[email protected]",
"password":"[email protected]"
}

Ключевым моментом для Api является то, что на этом работает весь развитый сервис, и если кто-нибудь получит этот ключ, тогда этот человек может получить доступ к данным и использовать эту услугу.

Как я буду более защищать свои данные запроса?

Пожалуйста, предложите.

-1
источник поделиться
2 ответа

Вы не описали свою архитектуру, но это общая проблема. Если вы ищете в Интернете что-то вроде "безопасного вызова api с токеном из веб-приложения", вы обнаружите, что вы не должны вызывать API со своей веб-страницы напрямую, так как для этого вам действительно нужно отправить токен пользователю, который затем может повторно использовать токен для вредоносных целей.

Вам необходимо "проксировать" вызовы API с вашего сайта, где вы используете сеанс входа в систему или отдельный токен для аутентификации и авторизации пользователя. Так:

[Web browser] <-- session key or token --> [Web server] <-- token --> [API server]

Связанное чтение: Programmers.SE: защита аякс-вызовов для отдыха api, аутентификация на основе токена REST API, проверка подлинности REST и отображение ключа API

+2
источник

Если пользователь сам предоставляет эти данные, то использование https для защиты URI WCF - это путь. Fiddler может читать https только на вашем компьютере и только с вашего разрешения. https будет защищать данные от посторонних глаз в реальном мире (ну, как можно больше.)

Кроме того, если это услуга, вызываемая конечным набором пользователей (от Business to Business, в отличие от Business to Consumer), вы можете ограничить доступ к отдельным IP-адресам через ваш брандмауэр.

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос