Как защитить мой сервис API от пиратства API-ключей - PullRequest
2 голосов
/ 09 марта 2012

Я бы хотел использовать свой собственный REST API с простым сервисом. Я хотел бы иметь три основных плана, которые будут различаться с точки зрения доступных запросов / сек.

Есть ли простой способ предотвратить переключение клавиш? Допустим, кто-то купил «корпоративный» API-ключ и отправил его другим? Теперь другие имеют доступ к функциям уровня предприятия, фактически не оплачивая эту услугу.

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

Заранее спасибо!

1 Ответ

2 голосов
/ 09 марта 2012

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

Вы можете сделать это с именем пользователя / паролем, где им нужно отправить их вам для проверки, и вы можете проверить, есть ли у этого имени пользователя доступ к плану / услуге.Вы также можете сделать это с помощью взаимно аутентифицируемого SSL, когда вы выпускаете самозаверяющие сертификаты идентификации клиентов для своих клиентов, и они используют их для аутентификации при подключении к вашим услугам, а затем вы можете проверить, есть ли у этого клиента доступ кплан / услуга.Обратите внимание, что вам потребуется реализовать SSL в любом случае, так как вы не хотите, чтобы имя пользователя и пароль передавались по стандартному HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...