我使用CodeMirror创建一个类似于JSFiddle的项目。从CodeMirror引用this example file,我从textarea渲染完整的HTML内容(包括来自外部javascript文件的脚本标记)。
它在本地运行良好,但在部署之前,是否存在从用户定义的输入呈现完整HTML页面的安全威胁?以上示例如何不是安全威胁?
答案 0 :(得分:0)
如果在应用程序域内执行用户定义的输入,则可能是安全问题。
例如,
1)JS Bin在不同的域上执行用户代码。
给定的代码将清楚说明。 alert(document.URL)
https://jsbin.com/xezusur/edit?html,js,output
2)甚至,JS Fiddle在不同的URL上的iframe中执行代码 https://jsfiddle.net/djadmin/zrks3reg/
正如您在上面给出的两个示例中所看到的,用户代码在不同的域上执行。因此,它会阻止用户输入因同源策略而访问不同域上的资源。