首页 > 解决方案 > 澄清 .innerHTML 和 .html 的恶意注入漏洞

问题描述

我了解从不受信任的来源(如表单输入或查询字符串等)获取值并将其与 .innerHTML 或 .html 一起使用是一种安全风险。

但是从这样的变量打印 HTML 是否有任何风险:

var html = 'Check out this <a href="/link-here/">link</a>';
$("#link-div").html(html);

<div id="link-div"></div>

就像,只要 html 来自您自己的代码并且没有外部来源,那么有什么需要注意的吗?

标签: javascripthtml

解决方案


这样做绝对没有风险,您只是选择使用代码呈现链接。由于您的代码不是基于用户输入(文本字段、URL、HTTP 标头...),因此它不会以不受欢迎的方式运行并危及您的用户。


推荐阅读