Защита ключей API в Javascript

Я создаю платежный плагин для веб-сайта, где пользователи могут покупать внутреннюю валюту веб-сайта за реальные деньги. я использую серверную часть, которая обрабатывает процесс оплаты, это. Он предоставляет (помимо прочего) библиотеку JavaScript для связи с их API, поэтому вам не нужно позволять вашей системе касаться конфиденциальных платежных данных, таких как номера кредитных карт и т. д.

Проблема в следующем: на данный момент API-ключ, секретный хеш и другие уязвимые данные жестко запрограммированы только в мой скрипт, который инициирует связь с сервером. так что теоретически каждый несовершенный пользователь может просто скопировать их из браузера и делать с ним гадости, особенно если у них есть доступ к документации по API.

Итак, это небезопасно и определенно не может работать таким образом.

я работаю с cakephp, и я подумал о том, чтобы собрать эти чувствительные ключи с помощью некоторых вызовов ajax для моих контроллеров/моделей после нажатия кнопки отправки. Проблема в том, что это соединение не защищено и может легко стать «человеком посередине».

Существуют ли другие, более эффективные способы защиты моих ключей API в javascript?


person nahri    schedule 27.06.2012    source источник
comment
Неа. Любая конфиденциальная информация должна проходить через ваши серверы. Но если у них есть интерфейс JS, наверняка они подумали о безопасности?   -  person sandradev    schedule 28.06.2012
comment
Кроме того, это никак не связано с тортом..?   -  person dr Hannibal Lecter    schedule 28.06.2012


Ответы (1)


Используйте аутентификацию на основе токенов, токены https и csrf и никогда, никогда, кроме секрета на клиенте.

Используйте oauth, чтобы пользователям даже не нужно было отправлять вам пароль. Использовать чужую систему аутентификации.

person tkone    schedule 28.06.2012