2

我想在我的应用程序中使用基于浏览器的代码编辑器,例如MonacoAce,以允许用户在浏览器中编写一些将由其他用户执行的代码。你可以想象 jsfiddle 或类似的。但是,我不想公开跨站点脚本漏洞。我没有找到太多关于如何在应用程序中正确实现这些工具并防止 XSS 的信息。

有没有办法在运行时将这些工具中编写的javascript“沙箱化”?JSFiddle、CodePen 和在线编辑器等工具如何防范恶意脚本?一般来说,在我的应用程序中使用基于浏览器的代码编辑器时,我应该使用哪些技术来防止 XSS 漏洞?

4

1 回答 1

1

通常,这些工具在另一个域上运行脚本。所以他们(故意)容易受到跨站点脚本的攻击,但他们通过利用相同的来源策略将其沙箱化。这是最简单和最简单的方法。即使编辑器站点具有登录名等,在此沙箱域上运行的脚本也会被同源策略阻止访问主域上的任何内容,因此 XSS 相当无用。

于 2016-06-21T19:31:00.300 回答