Любой способ ограничить доступ к представлению CouchDB, когда включен JSONP? - PullRequest
5 голосов
/ 14 июля 2011

Я включил JSONP на своем CrISDB iriscouch, чтобы я мог делать ajax-запросы к своим представлениям.Это означает, что любой может сделать ajax-запрос к моим представлениям CouchDB.

Есть ли способ предотвратить это?

Если нет, то есть ли способ ограничить доступ к представлениям (с помощью JSONPвыключен), чтобы только мое приложение могло просматривать его (используя прокси)?

1 Ответ

5 голосов
/ 15 июля 2011

Междоменная функциональность все еще трудна. Я не думаю, что JSONP допускает аутентифицированные запросы, поэтому ваш выбор с JSONP - между полностью общедоступными данными и полностью конфиденциальными данными.

(Между прочим, если вы беспокоитесь о конфиденциальности, обратите внимание, что ваши враги или сценаристы или кто-либо другой может просто прочитать исходный код страницы и запросить ваше мнение с помощью curl.)

Правильным решением для междоменной безопасности является межсайтовый общий доступ к ресурсам (CORS). Существует патч CouchDB CORS . Кстати, Iris Couch (там, где я работаю) действительно неофициально поддерживает этот патч и активирует его, если вы обратитесь к ним.

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

...