Как сохранить ключи API в секрете при использовании клиентского Javascript? - PullRequest
47 голосов
/ 21 октября 2011

Например, проверьте этот плагин Facebook .

На стороне клиента четко виден ключ API.Что мешает другому пользователю получить этот ключ и использовать эту функцию на другом сайте?

Я подумал, что очень наивной реализацией будет проверка домена, с которого поступил запрос, но такие вещи легко подделать.

Если бы я создал нечто подобное, как бы я обеспечил защиту процесса аутентификации?

Я хочу, чтобы большая часть этой работы была на стороне клиента, хотя потребуется некоторая форма аутентификации на сервере.конечно?Будем весьма благодарны за любые ссылки или советы.

Обновление

Подобный вопрос об API-ключах, которые я считаю полезными.

Ответы [ 2 ]

12 голосов
/ 21 октября 2011

В трех словах: проверка на стороне сервера. FB сам выдаст ошибку, когда вы используете ключ, который является неправильным для данного сайта. Ключ API не должен быть секретным (в отличие от секретного ключа).

3 голосов
/ 21 октября 2011

Я сам этого не делал, но я знаю, что тип атаки, о которой вы беспокоитесь, называется подделкой межсайтовых запросов (CSRF). Статья Википедии , в которой даются советы о том, как ее предотвратить.

...