javascript - 澄清 .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 来自您自己的代码并且没有外部来源,那么有什么需要注意的吗?
解决方案
这样做绝对没有风险,您只是选择使用代码呈现链接。由于您的代码不是基于用户输入(文本字段、URL、HTTP 标头...),因此它不会以不受欢迎的方式运行并危及您的用户。
推荐阅读
- c# - SQL Server 检索数据出来,数据得到了额外的空间
- php - 无法覆盖 Slim 框架中的 CORS 标头
- python - exe中的可变偏移量
- angular - Angular 6 供应商和主 js 花费太多时间来加载数据
- java - 如何对 YouTube 视频使用字符串插值
- python - 使用数据存储对 python 3 进行本地测试
- c# - 3-case if(小于零,大于零,零)是否有内置函数?
- infinite-loop - Cobol:在文件匹配中找不到导致无限循环错误的原因
- java - 如果结果始终相同,那么种子随机数生成器在 Java 中的实际用途是什么?
- ios - iOS Swift UIViewController 旋转