jsFiddle如何允许和执行用户定义的JavaScript而不产生危险?



我一直在做一个JS库,并想在Github上设置一个演示页面,允许,例如,用户定义自己的回调和执行命令。

我知道"eval()是邪恶的",我可以看到脚本的盲目eval()如何导致XSS和其他安全问题。我正在想办法变通。

我非常喜欢jsFiddle的交互性。我看了一下他们的源代码,但希望有人能在这里列出jsFiddle如何允许和执行用户定义的JavaScript而不会造成危险。只要它不涉及第三方回声服务器,我希望我可以模仿这种方法。

jsFiddle在一个单独的域http://fiddle.jshell.net上执行用户脚本(试试看看)。
因此,它不能与父框架交互,也不能窃取cookie。

你实际上可以做到这一点,而不需要一个单独的服务器,将一个静态页面放在一个单独的域中,在Javascript中读取其querystring。
您可以使用页面标题进行反馈(敌人也可以)。

最新更新