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

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

Я знаю, что « eval () - это зло», и я вижу, как слепой eval () скриптов может привести к XSS и другим проблемам безопасности. Пытаюсь придумать альтернативные схемы.

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

22
задан buley 4 November 2011 в 01:36
поделиться