c# - 调用外部 JS 和 CSS 到我的网站 - 有什么风险

标签 c# javascript security

我有值得信赖的合作伙伴,我想让他调用我的 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/

相关文章:

c# - 发送和接收文件一直挂起

javascript - 结果作为对象,其中键是数组中的每个值

javascript - 检测 Firefox 对屏幕共享的支持

javascript - 提交数据时没有出现警告框

php - 处理 $_POST[] 和 $_GET[] 变量

c# - 使用正则表达式替换 QueryString 值

c# - "Assembly Same Simple Name already been imported"错误

php - PHP 5.2 是否仍会收到安全补丁?

c# - 返回列表,如果为空且计数 == 0。跳转到其他

php - 如何可逆地随机化/加密从 0 到大约 0 的无符号整数。 2^24?