Как и многие разработчики, я хочу, чтобы JavaScript, обслуживаемый сервером «A», разговаривал с веб-службой на сервере «B», но меня замешал текущий инкарнация same origin policy. Наиболее безопасным средством преодоления этого (что я могу найти) является серверный скрипт, который находится на сервере «А» и действует как прокси-сервер между ним и «В». Но если я хочу развернуть этот JavaScript в различных клиентских средах (RoR, PHP, Python, .NET и т. Д.) И не могу писать сценарии прокси для всех из них, что мне делать?Безопасная реализация скрипта для взлома XSS?
Использование JSONP, some people say. Ну, Doug Crockford указал on his website и in interviews, что взлом скрипта сценария (используемый JSONP) является небезопасным способом обойти одну и ту же политику происхождения. Нет никакого способа, чтобы скрипт служил «А», чтобы убедиться, что «В» - это тот, кто они говорят, и что возвращаемые данные не являются вредоносными или будут захватывать конфиденциальные данные пользователя на этой странице (например, номера кредитных карт) и передайте его подлым людям. Это похоже на разумную проблему, но что, если я просто использую скрипт-скрипт для взлома сам по себе и строго передаю JSON? Это безопасно? Если нет, почему бы и нет? Будет ли более безопасным использование HTTPS? Будут оценены примеры сценариев.
Дополнение: Поддержка IE6 не требуется. Сторонние расширения браузера не являются опцией. Давайте рассмотрим достоинства и риски взлома тэга сценария, пожалуйста.
Что вы подразумеваете под 'what, если я просто использую скрипт-тег hack сам по себе и общаюсь строго в JSON?'? –
Сценарий, созданный с помощью «A», будет содержать инструкцию, которая добавит тег сценария к DOM клиента. Этот тег скрипта будет включать вызов AJAX, который будет извлекать чистые данные JSON из «B» в другом домене. Если скрипт, обслуживаемый «A», анализирует ответ как JSON, не будет ли какое-либо заполнение JavaScript (иначе говоря, JSONP, вредоносным или иным образом) приведет к ошибке синтаксического анализа? – Adam