Álv*_*lez 32

W3C的文档表明,它不能做:

请注意,注释是标记.

这基本上意味着<!-- ...>注释标记就像任何其他标记一样,所以<a <!--title="need to be comment out"-->>a link</a>就像错误一样<a <span></span>>a link</a>.

对于快速黑客攻击,我认为一个常见的选择是重命名该属性.获取无效HTML时,您可以暂时删除该属性:

<a xtitle="need to be comment out">a link</a>
Run Code Online (Sandbox Code Playgroud)

如果您碰巧使用服务器端语言,您也可以使用自己的注释语法.例如,在PHP中,您可以这样做:

<a <?php/*title="need to be comment out"*/?>>a link</a>
Run Code Online (Sandbox Code Playgroud)

...生成此HTML:

<a >a link</a>
Run Code Online (Sandbox Code Playgroud)

...在ASP.NET中,您可以使用<%-- Comment goes here --%>MVC Razor语法@* Comment goes here *@

  • 您可能希望更明显地将您的属性"评论"出来.例如,使用comment_out_title ="...".可以假设它是错误的. (2认同)

Que*_*tin 7

你不能。评论只能在标签之外开始和结束。

有些人在属性名称前添加 x,从而更改它并导致它几乎被忽略(因为它在 DOM 中仍然经常可见),但这是无效的。


int*_*dis 5

我通常只是放在_x属性名称的末尾。然后该属性被忽略,因为它是未知的。因此,如果我想id从该元素中注释掉该属性:

<input type="text" name="name" id="name">
Run Code Online (Sandbox Code Playgroud)

我会把它改成这样:

<input type="text" name="name" id_x="name">
Run Code Online (Sandbox Code Playgroud)

这还具有能够搜索“ _x=”以查找所有注释属性的优点。