我有值得信赖的合作伙伴,我想让他调用我的 Iframe 并添加 JS/css 文件路径作为参数,我将这样调用它:
<script type="text/javascript" src="@(HttpUtility.UrlDecode(HttpContext.Current.Request.Params["CustomJs"]))" ></script>
<link type="text/css" media="screen" href="@(HttpUtility.UrlDecode(HttpContext.Current.Request.Params["CustomCss"]))" rel="stylesheet" />
这是为了让他能够hook设计,注册一些JS hooks。 合作伙伴是值得信赖的,并且会签署一份文件,表明 JS/css 的使用仅限于我们这边调用的允许功能。
问题是,我是否让我的客户面临任何形式的危险情况(假设合作伙伴都没事)。
一切都在ssl下
有什么安全风险。
谢谢
最佳答案
风险在于,如果您合作伙伴的安全受到损害,您的系统也将变得不安全。假设,如果攻击者以某种方式将恶意代码添加到您合作伙伴的脚本中,该代码可能会传递到您的系统。这与跨站脚本攻击高度相关http://en.wikipedia.org/wiki/Cross-site_scripting .
为了规避这种风险,我建议为这些 JS/CSS 文件实现一个经过审核的代理。例如,ASP.NET 处理程序 (.ashx) 会调用合作伙伴的站点来获取原始脚本并将它们存储在内部某个位置(可能在数据库中),而相关框架则通过使用处理程序获取脚本和 CSS。类似于:
<script ... src="ModeratedProxy.ashx?partner=abcd&file=efg.js"></script>
如果合作伙伴更改脚本,处理程序将通知网站所有者,甚至可能允许对任何外部文件进行预先审核。
关于c# - 调用外部 JS 和 CSS 到我的网站 - 有什么风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392183/