Я видел много сервисов, в основном картографических сервисов, таких как GMaps или MapQuest, которые требуют, чтобы пользователи ранее регистрировали приложение appKey
. Позже, по каждому запросу пользователь должен присоединить appKey
например http://server/service?appKey=sdf7dfj34
.
Я понимаю, что такие приложения appKeys небезопасны и в основном полезны для изучения использования вашего сервиса. Любой может видеть ваш appKey
и использовать его в своем приложении.
Я видел другие службы, которые в процессе регистрации требуют, чтобы вы поместили домен, в котором вы будете выполнять свой код. Таким образом, они могут проверить, соответствует ли домен, с которого выполняется запрос, appKey, сгенерированный для этого домена.
Мои вопросы:
Я должен уточнить свое намерение - пользователи могут запрашивать данные через appKey, используя JavaScript + AJAX.
Благодарю.
Не можете ли вы включить домен в appKey? Например, часть appKey - хэш домена (для простейшего ключа вы можете использовать MD5 и base64 для кодирования хеш-байтов).
Затем, чтобы проверить домен, вы имеете hash домен запроса и сравниваете его с appKey.
Чтобы уточнить:
Пользователь хочет получить appKey для домена "user.domain.com".
Вы используете hash user.domain.com для SOME_DOMAIN_HASH_TOKEN.
AppKey будет SOME_GUID + SOME_DOMAIN_HASH_TOKEN (+ может быть что-то еще)
Пользователь отправляет appKey на ваш сервер из какого-либо домена.
Вы передаете домен из запроса и сравниваете его с хешем из appKey.
Если оба являются SOME_DOMAIN_HASH_TOKEN, домен действителен.