当img
标记之前是多个字符,或者可能省略时,<
标记或其他任何标记是否可能或可能被解析?这会在任何值得注意的HTML解析器中发生吗?
例如
<div>$test</div>
。
$test
可以是包含>
但不包含<
的任何字符串。例如img>
,但不是<img
完全披露:此问题专门用于查看the comment I posted是否正确。
答案 0 :(得分:1)
好吧,出于好奇,我改变了我的一个测试页面,所以它的脚本部分开始于此:
< script>
结果完全坏了,只打印了我的所有javascript。这发生在IE9,GC28和Firefox中。我手边的图像确实没有,但我认为我们可以从中得出HTML标签总是要求在尖括号和标签声明之间没有空格。
如果您想进一步确认,我建议您浏览W3C标准化文档,看看您是否可以找到他们声明HTML元素标签的通用模式的位置。许多HTML解析器可能会基于这些文档来简化编码。
答案 1 :(得分:1)
你在技术上也不需要&lt;或者&gt;。在IE中加载它,它将运行javascript警报。不确定是否可以在不弄乱字符集的情况下使用。
<HTML>
<HEAD>
<META charset="UTF-7">
</HEAD>
<BODY>
<DIV>+ADw-script+AD4-alert(+ACI-XSS+ACI-)+ADw-/script+AD4-</DIV>
</BODY>
</HTML>
答案 2 :(得分:0)
标记名后面有空格
< script>
无效
而
<script>
有效