我一直在开发一个JS库,希望在Github上设置一个演示页面,允许用户定义自己的回调函数并执行命令。
我知道"eval()
是邪恶的",我能看到盲目使用脚本的eval()
可能导致XSS和其他安全问题。我正在尝试构思一些替代方案。
我非常喜欢jsFiddle的互动性。我已经查看了他们的源代码,但希望有人能在这里解释一下jsFiddle如何允许和执行用户定义的JavaScript而不会有安全隐患。只要不涉及第三方回显服务器,我希望可以模仿这种方法。
我一直在开发一个JS库,希望在Github上设置一个演示页面,允许用户定义自己的回调函数并执行命令。
我知道"eval()
是邪恶的",我能看到盲目使用脚本的eval()
可能导致XSS和其他安全问题。我正在尝试构思一些替代方案。
我非常喜欢jsFiddle的互动性。我已经查看了他们的源代码,但希望有人能在这里解释一下jsFiddle如何允许和执行用户定义的JavaScript而不会有安全隐患。只要不涉及第三方回显服务器,我希望可以模仿这种方法。
<iframe>
中的页面必须位于一个完全没有可被攻击的内容(没有cookies)的不同域名下。 - SLaksalert(document.cookie);
在 jsFiddle 中可以工作? - Shlomi Hassidalert('hello')
可以正常工作并在警告框中输出“hello”,但是alert(document.cookie)
只会输出一个空字符串(警告框仍然会出现,但除非jshell.net域上有cookie,否则不会显示任何cookie)。 - Monarch Wadia