![]() |
1
11
文本内容:
如果以非UTF编码生成文档,则必须转义不适合所选编码的字符。
在XHTML(通常是XML)中,序列
属性值:
规范XML总是选择
在XHTML中
要在属性值中包含制表符、CR或LF(属性值归一化算法不将它们转换为纯空格),必须将它们编码为字符引用。
对于文本内容和属性值
:在XML 1.1下的XHTML中,必须转义受限制的字符,即删除字符和c0和c1控制代码、减号制表符、CR、LF和NEL。总共,
是的,但由于无法从评论中逃脱,所以您对此无能为力。如果你写
像这样的CDATA元素
在HTML和XML中,还有一个上下文应用了不同的规则,它在DTD中(包括doctype声明中的内部子集,如果有),其中
是的,这在过渡时期也是一个错误。
是的,根据SGML的规定,除了
|
![]() |
2
1
我不确定不同的元素是否有如您所说的不同的编码规则。您列出的所有示例都需要HTML编码。 例如。
最后一个示例还包括一些与符号(&)的URL编码,此时,它的内容会变得复杂(将与符号作为数据发送,这就是必须对其进行编码的原因)。
HTML文档中的任何地方,如果控制字符没有被用作控制字符,则应该对它们进行编码(这是一个很好的经验法则)。大多数情况下,它的HTML编码&或>等。其他情况下,当试图通过URL传递这些字符时,请使用URL编码%20、%26等。
我想说的是 Wikipedia article 对此有一些很好的评论,可能值得一读-同时 W3 Schools article 我想这是一个很好的观点。大多数语言都有内置的函数来准备文本作为安全的HTML,因此可能值得检查您选择的语言(如果您确实使用了任何脚本语言,而不是手工编码HTML)。 具体来说,维基百科说:“字符<、>、&用于分隔标记、属性值和字符引用。字符实体引用<、>、"和&amp;amp;amp;是在HTML、XML和SGML中预定义的,可用于字符的文本表示。” 对于URL编码, this article seems a good starting point . 我已经胡思乱想了一下:这一切都排除了XML/XHTML的思想,XML/XHTML将其他所有的球类游戏带到了球场上,它要求几乎所有的世界和它的狗都需要编码。如果您使用脚本语言并通过它写出一个变量,那么我确信找到内置函数或下载一个库会更容易。:)我希望这个答案的范围是正确的,不会错过要点或问题,也不会以错误的语调出现。:) |
![]() |
3
1
如果您正在寻找在Web浏览器(包括HTML、javascript和样式表)中转义字符的最佳实践,那么迈克尔·考茨的XSS预防性摘要很可能就是您要寻找的。它包括对不同解释上下文的描述、指示如何在每个上下文中编码字符的表和代码示例(使用ESAPI)。 http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet |
![]() |
4
0
如果您关心最终HTML的有效性,那么可以考虑通过DOM构建HTML,而不是作为文本。 你不会说你的目标是什么环境。 |
![]() |
5
0
当心
你可以在这里了解更多 http://qbolec-memdump.blogspot.com/2013/11/script-tag-content-madness.html |
|
Adam Noack · 如何将转义字符串转换为相应单个字符的列表? 7 年前 |
![]() |
vishnumanohar · 如何转义curl命令头中的特殊字符 7 年前 |
![]() |
Johnny · 如何使用PHP通过JSON发送HTML元素? 7 年前 |
![]() |
sapbucket · 如何处理具有大量转义的字符串? 7 年前 |
![]() |
emile · python字符串。格式和无效转义 7 年前 |
![]() |
Patric · 计算传递给PowerShell中函数的字符串内的变量 7 年前 |
![]() |
Jack · 如何通过C将字符@“\”转换为转义字符串# 7 年前 |