Можно ли скрыть AJAX API? - PullRequest
       3

Можно ли скрыть AJAX API?

1 голос
/ 18 июля 2011

При создании веб-приложения мне бы хотелось, чтобы данные / взаимодействие с формами управлялись API-интерфейсами AJAX.Однако многие из этих API-интерфейсов будут получать объекты данных (JSON), и мне бы очень хотелось, чтобы мое веб-приложение использовало их.Есть ли способ создать API таким образом, чтобы его мог вызывать только мой сайт?Такое ощущение, что это будет проигрышная битва.

Например, я мог бы проверить, принадлежит ли домен, выполняющий запрос, моему, но заголовок узла может быть подделан.jsonp не решает эту проблему для меня, так как кто-то может просто написать сервис на Java или что-то, что делает запросы вне изолированной программной среды браузера

Я думаю, что может быть что-то с токенами безопасности и генерирующими, но яЧувствую, что любые реальные меры, которые я принимаю, могут быть подделаны умным скребком.

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Вы правы, говоря, что это проигрышная битва. Если вы дадите код протокола для того, чтобы ваш клиент работал законно, тогда ваш клиент также может выполнить код незаконно.

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

Отказ от ответственности: я отвечаю, как он / она может скрыть API AJAX, не отвечая, морально ли этично это делать.

1 голос
/ 18 июля 2011

Вы можете использовать технику, используемую Rails, на основе токенов подлинности, сгенерированных веб-приложением с помощью пользовательского секрета.

Затем вы можете распечатать их на странице заголовка и отправить их через заголовки запроса ajax для их проверки.

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