2016-12-27 3 views
0

Я использую CodeMirror для создания проекта, подобного JSFiddle. Обращаясь к this example file из CodeMirror, я предоставляю полный HTML-контент из текстового поля (включая теги скриптов из внешних файлов javascript).textarea устанавливает содержимое iframe - безопасность с CodeMirror

Все это хорошо работает локально, но до развертывания не существует угрозы безопасности для создания полной HTML-страницы из пользовательского ввода? Как приведенный выше пример не представляет угрозы безопасности?

ответ

0

Это может быть проблема с безопасностью, если вы выполняете пользовательский ввод внутри вашего домена приложения.

Например, 1) JS Bin выполняет код пользователя в другом домене. Данный код даст понять. alert(document.URL) https://jsbin.com/xezusur/edit?html,js,output

2) Даже, JS Fiddle выполняет код в фрейма на другой URL https://jsfiddle.net/djadmin/zrks3reg/

Как вы можете видеть, в обоих примерах, приведенных выше, пользовательский код выполняется на другом домене. Таким образом, он не позволяет входным данным пользователя получать доступ к ресурсам в другом домене из-за политики одинакового происхождения.