我正在努力找到加强我的Javascript以防止代码注入攻击的正确方法。
所以,我创建了我认为成功注入代码的内容:
document.getElementById("result").innerHTML = "hello <script> alert(0) <\/script> kuku";
在调试器中评估document.getElementById("result").innerHTML
表明它确实经历了:
"hello <script> alert(0) </script> kuku"
那怎么没有警报?
答案 0 :(得分:2)
将.innerHTML
设置为包含<script>
块的内容永远不会导致嵌入的代码被评估。这就是.innerHTML
的工作方式。