Подтвердить что ты не робот

Как jsFiddle разрешает и выполняет JavaScript, не являющийся опасным?

Я работал над библиотекой JS и хотел бы настроить демонстрационную страницу в Github, которая позволяет, например, пользователям определять свои собственные обратные вызовы и выполнять команды.

Я знаю, что "eval() является злом", и я вижу, как слепые сценарии t20 могут привести к XSS и другим проблемам безопасности. Я пытаюсь подготовить некоторые альтернативные схемы.

Мне очень нравится интерактивность jsFiddle. Я взглянул на их источник, но надеялся, что кто-то может выложить здесь, как jsFiddle позволяет и выполняет JavaScript, определяемый пользователем, не будучи опасным. Пока это не связано с сторонним эхо-сервером, я надеюсь, что смогу подражать этому подходу.

4b9b3361

Ответ 1

jsFiddle выполняет пользовательские скрипты в отдельном домене, http://fiddle.jshell.net (попробуйте и посмотрим).
Следовательно, он не может взаимодействовать с родительским фреймом, и он не может украсть файлы cookie.

Фактически вы можете сделать это без отдельного сервера, разместив статическую страницу в отдельном домене, который читает из своей очереди в Javascript.
Вы можете обмениваться данными, используя заголовок страницы (и так же может быть и противник).