我计划在我的网站中设置一个功能,用户可以提交 HTML、CSS 和 JS,然后将其“实时”生成为完整的 HTML 工作页面。其他用户将能够看到这一点。这些页面需要有有效的 Javascript。
我知道这本身就是一个相当大的安全缺陷,但该功能在网站上非常重要。我有这些想法:
- 无法链接到外部 Javascript 文件
- 可以包含 jQuery 等,但只能来自受信任的 CDN(例如 Google)
- 某些 Javascript 功能将被禁用和删除(例如
eval()
)
- 用户在获得一定的“声誉”之前无法提交实时演示代码
- 用户提交的实时演示代码必须经过管理员授权才能上线
- 不得使用缩小代码
以及被动安全措施:
- 免责声明,所以我们不承担任何责任! ;)
- “报告”按钮以防用户发现可疑情况
所以这是问题:作为一项安全计划,您对此有何看法?这些措施结合起来足以阻止攻击者吗?用户将在三个单独的输入中提交代码 - CSS、HTML 和 JS - 因此我将能够相应地进行过滤和清理,然后“实时”重组它以供其他人预览。
Thanks!
Jack
听起来像是一个计划,尽管我认为执行起来会很困难。
专注于该想法的声誉方面(仅接受来自受信任用户的可执行代码),并在与您登录的域分开的无 cookie“沙箱”域上运行所有内容,这无疑是一个好主意。
风险总会存在,但我不认为这种风险比互联网上任何其他提供 JavaScript 的网站更大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)