【问题标题】:is XmlFormat() always better than htmlEditFormat()?XmlFormat() 总是比 htmlEditFormat() 更好吗?
【发布时间】:2011-04-08 02:20:03
【问题描述】:

今天在http://www.bennadel.com/blog/2004-Escaping-Form-Values-Understanding-The-ColdFusion-htmlEditFormat-Life-Cycle.htmRick Osborne看到了一条评论

我已经开始让我的学生从 htmlEditFormat 转至 xmlFormat。作为 你说,它捕捉到更多的字符, 但它对于纯 XML 和 打字速度更快。我没能 想出一个令人信服的理由 坚持使用 htmlEditFormat。

我们都应该开始使用XmlFormat()吗?除了性能稍慢之外,您能想出一个“令人信服的理由”吗?

【问题讨论】:

  • 哈!那家伙满载而归。多么n00b。 (我指的是那个人。我以前从未在 SO 上被引用过。扭曲。)
  • @Rick,你不介意被引用吧? :) 我想知道我们是否都应该因为您的评论而切换到 xmlFormat()。
  • 我一点也不介意。老实说,这不是我的主意。我在 Pete Freitag 的幻灯片中看到了一个暗示。回顾他的博客,他似乎至少从 2007 年就开始提倡它了。
  • 我没用过 CF,但它谈论转义“128-255 范围内的高 ASCII 字符”听起来好像真的不明白 ASCII 和 Unicode 是什么,并且可能会混淆如果您使用 ISO-8859-1 以外的编码,您的字符。就像 PHP 的 htmlentities() 没有 $charset= 'utf-8' 与通常首选的 htmlspecialchars() 相比。
  • 是否有关于使用 XMLformat 的示例帖子?

标签: xml security coldfusion


【解决方案1】:

更新:以下答案不再相关。我注意到通过在 HTMLEditFormat() 上使用 XMLFormat() 是 IE 不解释 ' 并因此造成严重破坏。

在我看来,如果它捕获更多(例如 Jason Dean 指出的单引号)从而使您的应用程序更安全,那么我会吃掉性能损失。实际上,1 毫秒或 2 毫秒可能会对性能造成多大影响?

在即将发布的 cfwheels 1.1 版本中,我添加了一个 h() 方法,它是 htmleditformat() 方法的包装器。在阅读了本和这篇文章之后,我将把它切换到使用 XMLFormat() 来代替。

【讨论】:

  • 嗯..你是对的:stackoverflow.com/questions/609166/asp-and-apos-does-not-work 所以...回到htmlEditFormat()?
  • 是的,我们遇到了同样的问题,我们回到了 htmlEditFormat() 是否有理由不使用 htmlEditFormat() 或者人们只是因为它是新的而转向 xmlformat()?
  • 至少在某些版本的 CF 中,htmlEditFormat 不会转义属于某些实体的 & 符号。请参阅bugbase.adobe.com/index.cfm?event=bug&id=3040920,已在 9.0.1 中修复。我们使用了一个简单的 replaceList 函数。
  • 有没有 htmleditformat() 改变而 xmlformat() 没有改变的例子?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
  • 2018-01-30
  • 2021-08-09
  • 2015-02-03
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多