什么时候应该HTML转义数据?什么时候应该URL转义数据?

bod*_*ydo 4 html forms escaping

什么时候应该在我的代码中使用HTML转义数据以及何时应该进行URL转义?我很困惑哪一个什么时候使用......

例如,给定一个要求URL的元素:

<input type="text" value="DATA" name="URL">
Run Code Online (Sandbox Code Playgroud)

我应该HTML-Escape DATA在这里或URL转义它吗?

那个元素怎么样:

<a href="URL" title="URL">NAME</a>
Run Code Online (Sandbox Code Playgroud)

应该URL是URL转义还是HTML转义?怎么样NAME

谢谢,Boda Cydo.

Nic*_*ggs 6

URL编码确保特殊字符如?和&不会导致URL在接收端被误解释.实际上,这意味着您需要对任何有可能包含此类字符的动态查询字符串值进行URL编码.

HTML编码可确保特殊字符(如>和"不会导致浏览器误解标记.因此,您需要对输出到可能包含此类字符的标记中的任何值进行HTML编码.

所以在你的例子中:

  • DATA需要进行HTML编码.
  • URL的任何动态段都需要进行URL编码,然后整个字符串需要进行HTML编码.
  • 名称需要进行HTML编码.