Я думаю, что обсуждение должно состоять в том, «как сделать это трудным», а не предотвратить его, поскольку, если вы собираетесь предоставлять свой сервис для общего доступа, вы подвержены атакам.
Возможности, затрудняющие это,быть:
если вы предоставляете доступ к своему сервису близкому кругу клиентов, то вы можете применить ограничения IP к вашему Серверу, чтобы запретить вызовы из любой другой службы, опять же, это предотвратит любыевызовы из сценариев на стороне клиента (например, JavaScript) и будут открыты для IP-спуфинга
Вы также можете установить IP-ограничения в своей службе.в инспекторе сообщений вы можете проверить IP-адрес и, если он не находится в вашем диапазоне, выдать исключение, чтобы предотвратить дальнейший доступ.
Используйте буквенно-цифровой API-ключ с включением специальных символов, чтобы сделать его очень сложным и сложным для циклического прохождения (грубая сила) (наилучшее соответствие, которое я могу рассмотреть для вашего сценария)
вы можете дать своему клиенту открытый ключ (различный для каждого клиента), попросить его добавить некоторый идентификатор с ключом, например, api & customerID, и зашифровать его своим ключом, поскольку на стороне сервера у вас есть закрытый ключ для этогоконкретный клиент и наоборот .. (это содержит издержки на расшифровку шифрования)
, и если у вас человек в середине , то это может поставить под угрозу все выше.Все это усложняет ситуацию и может потребовать переосмысления в зависимости от вашего подробного сценария.