【发布时间】:2011-06-15 15:55:05
【问题描述】:
我想让我的用户输入 HTML。
要求
- 允许一组特定的 HTML 标记。
- 保留字符(例如,不要将
ã编码为ã)
现有选项
- AntiSamy。不幸的是,AntiSamy 对特殊字符进行编码并打破了要求 2。
- 本机 ColdFusion 函数(
HTMLCodeFormat()等...)不起作用,因为它们将 HTML 编码为实体,因此不符合要求 1。 - 我在某处找到了这组函数,但我无法确定它的安全性:http://pastie.org/2072867
那么我有哪些选择?有这方面的现有库吗?
【问题讨论】:
-
什么不能使用 AntiSamy 并弄清楚如何将 HTML 实体转换回来?请参阅此问题的答案,了解使用 Apache Commons 库使用 Java 执行此操作:stackoverflow.com/questions/994331/…
-
@orangepips,因为我在这里读到这可能是不安全的:stackoverflow.com/questions/3246739/… - 不确定这是不是真的!
-
@Mohammad,很有趣。认为您可以转身并使用
HTMLEditFormat(cleanUpString)来逃避该问题中引用的示例。 -
@orangepips,假设我想用你的例子,这会失败:createObject("java", "StringEscapeUtils"); ...
-
@Mohamad:回复:可扩展。负载测试。
标签: coldfusion xss whitelist