JavaScript и CouchDB - Как я избегаю, чтобы ошибки политики перекрестного источника на ПОЛУЧАТЬ/POST/ПОМЕЩАТЬ/УДАЛЯТЬ запросы

Я отправляю этот вопрос на Переполнении стека также. По-моему, этот вопрос перекрывает два...


Я создаю простую обертку JavaScript для УСПОКОИТЕЛЬНОГО интерфейса CouchDB, но я застреваю на вопросах политики того-же-источника.

До сих пор я разрабатывал свой код для работы локально - и только как подтверждение концепции - на Mozilla Firefox. Мой сервер работает на localhost, порт 5984.

Для отключения политики перекрестного источника в Mozilla Firefox, можно использовать PrivilegeManager, но это только получает меня на полпути в том смысле, что я не могу сделать ПОМЕЩЕННЫХ запросов против своего сервера...

/*
 * Including this in my JavaScript file only seems to disable cross-origin
 * policy checks for POST and GET requests in Mozilla FireFox.
 * PUT requests fail.
 */

netscape.security.PrivilegeManager.enablePrivilege(
    "UniversalBrowserRead UniversalBrowserWrite"
);



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

0
задан 07.09.2010, 22:06

1 ответ

Те же политики источника (КУСКИ) были разработаны для предотвращения инжекции информации от одного контекста/домена до другого. Они реализованы, и осуществляет браузером. У каждого поставщика могут быть свои собственные КУСКИ. Таким образом, любое обходное решение может работать на один браузер, в то время как это перестанет работать на другом.

По моему скромному мнению, лучшее (и только?) опция состоит в том, чтобы использовать некоторый прокси.

При использовании Apache для хостинга веб-приложения, можно легко настроить обратный прокси. Я принимаю запросы и отправляю их реальной службе (REST-API). Ответ будет, передают обратно Браузеру. SOP не будет применяться, так как конечная точка REST-API не будет в другом домене (т.е. другой сервер), но в домене Вашего веб-приложения (благодаря прокси).

[редактирование] Здесь является лучшим объяснением: http://developer.yahoo.com/javascript/howto-proxy.html

0
ответ дан 27.11.2019, 19:16

Теги

Похожие вопросы