Nie*_*sol 36
严格来说,为了防止HTML注入,您只需编码<为<.
如果要将用户输入放在属性中,也要编码"为".
如果你正确地做事并使用正确引用的属性,你不必担心>.但是,如果你不确定这一点,你应该编码它只是为了安心 - 它不会造成任何伤害.
当前浏览器的 HTML 解析器对 uquoted >s没有问题
然而,不幸的是,在 JS 中使用正则表达式“解析” HTML 是很常见的。(例如:Ext.util.Format.stripTags)。此外,编写不当的命令行工具、IDE 或 Java 类等可能不够复杂,无法确定开始标记的限制器。
所以,你可能会遇到这样的代码问题:
<script data-usercontent=">malicious();//"></script>
Run Code Online (Sandbox Code Playgroud)
(注意语法高亮是如何处理这个片段的!)
| 归档时间: |
|
| 查看次数: |
52622 次 |
| 最近记录: |