注意:我无法在网站上找到问题,如果它存在,请将其作为重复。
对于out应用程序,我们有一个基于浏览器的客户端使用javascript。我们的应用程序遵循客户端服务器体系结构,但仅在内部部署,即它不暴露给Web。 我正在考虑为用户提供有限的脚本支持(使用javascript),有点类似于基于桌面的应用程序(如matlab)提供的
答案 0 :(得分:1)
从安全角度来看:在页面上运行脚本不是问题,用户已经可以通过按f12
并打开控制台来执行此操作。
问题是如果您允许用户将js保存到您的数据库中,然后由另一个用户将其加载到页面上。
想象一下,如果您有一个允许script
标签的评论系统,潜在的恶作剧者现在可以执行用户可以执行的任何功能。
甚至锚标记<a href="javascript:pageFunction()">click on me</a>
如果仅供用户使用,我会将脚本附加到正文中。
var scr = document.createElement("script");
scr.textContent = 'alert("hi")';
document.body.appendChild(scr);