0

注意:我无法在网站上找到问题,如果存在,请将其关闭为重复

对于应用程序,我们有一个使用 javascript 的基于浏览器的客户端。我们的应用程序遵循客户端服务器架构,但仅在本地部署,即它不暴露于 Web。我正在考虑为用户(使用 javascript)提供有限的脚本支持,这有点类似于在基于桌面的应用程序(如 matlab)中提供的支持

  1. 允许用户编写脚本是否安全。
  2. 什么是安全的实施方式(评估,使用 iframe 等)
4

1 回答 1

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);
于 2013-06-23T01:09:53.577 回答