- 以下内容部分源于:
- 《JavaScript高级程序设计(第3版)》 11.3.6
- 最近在做一个
demo
==》XSS
-防御-输出检查,但是发现,将<script>
标签直接赋值给某元素的innerHTML
,却一点作用都没有。
一、为什么不起作用?
1.1 原因
- 因为,这个是被规定的:在大多数浏览器中,通过
innerHTML
插入<script>
元素并不会执行其中的脚本。。
1.2 demo
- 点击打开demo
- 过程展示
二、重构script节点
- 既然直接将
<script>
赋值给innerHTML
不行,我们就重构它,让它成功运行。
- 点击打开demo
- 过程展示