Как применить ограничения iframe к той же политике происхождения для iframe в моем собственном домене? - PullRequest
3 голосов
/ 16 сентября 2011

Я создатель http://labcss.net,, и у меня есть проблема безопасности, которую мне нужно решить. labcss похож на jsFiddle, только jsFiddle выполняет свой код Javascript в sanbox. Поскольку мне нужно интенсивно манипулировать содержимым iframe и взаимодействовать с ним, у меня не может быть подхода «Выполнить», который отправляет данные в тюрьму iframe.

Мне нужно применить ограничения Javascript, чтобы внутренний Javascript, который будет работать в iframe, хотя и в том же домене, работал вне моего домена, поэтому у меня не будет проблем с XSS. (Мне нужен Javascript для выполнения, хотя).

Спасибо за совет.

Ответы [ 2 ]

1 голос
/ 17 сентября 2011

Вы можете использовать Google Caja, Microsoft WebSandbox, Facebook FBJS, AdSafe или (в очень современных браузерах) SES.Все они обеспечивают безопасную песочницу Javascript.Тем не менее, имейте в виду: у них достаточно много движущихся частей.

Caja и WebSandbox позволяют писать стандартный Javascript без ограничений, и вы можете использовать множество существующих библиотек Javascript.FBJS и AdSafe заставляют вас писать на другом более ограниченном языке: FBJS в варианте Javascript на Facebook, AdSafe в ограниченном подмножестве Javascript со своей собственной библиотекой.

0 голосов
/ 28 ноября 2012

Вам также может пригодиться атрибут песочницы HTML5 iframe. Это spec , но лучшее описание может быть здесь .

Это поддерживается на Chrome , IE10 , FireFox , Safari .

В спецификации сказано, что если атрибут "allow-same-origin" установлен , а не , "контент обрабатывается как уникальный источник". Это должно препятствовать доступу iframe вашего ребенка к любой части DOM родителя.

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