К сожалению, ваш веб-сервис никогда не будет полностью безопасным, но вот несколько основных вещей, которые вы можете сделать:
- Использовать SSL
- Wrap all your(app) исходящие полезные нагрузки в
POST
запросах.Это предотвратит случайное отслеживание, чтобы выяснить, как работает ваш веб-сервис (для обратного инжиниринга протокола). - Каким-то образом проверить пользователей вашего приложения.В идеале это будет связано с OAUTH, например, с использованием учетных данных Google, но вы поняли идею.
Теперь я хочу указать, почему это не будет полностью безопасным:
- Если кто-то схватит ваше приложение и обратный инжиниринг, все, что вы только что сделали, это за окном.Единственное, что удержит, - это ваша проверка пользователя .
- Встраивание сертификата клиента (как отмечали другие люди) ничего не делает , чтобы помочь вам в этом сценарии.Если я просто отредактирую ваше приложение, у меня также есть ваш клиентский сертификат.
Что может вы делаете?
- Проверяйте учетные записи на вашем бэкэнде и отслеживайте их аномальное использование.
Конечно, все это выходит за рамки, когда кто-то появляется, анализирует ваше приложение, создает другое, чтобы имитировать его, и вы не захотите(вообще) лучше не знаю.Это все просто моменты, о которых нужно помнить.
Редактировать: Кроме того, если это не было очевидно, используйте POST
(или GET
) запросов для всех запросов приложений (к вашему серверу).Это, в сочетании с SSL, должно помешать вашим случайным злоумышленникам.
Edit2: Кажется, будто я ошибаюсь: POST
будучи более безопасным, чем GET
. Этот ответ был весьма полезен для указания на это.Итак, я полагаю, что вы можете использовать GET
или POST
здесь взаимозаменяемо.