【问题标题】:Selective HTML escaping with Java使用 Java 进行选择性 HTML 转义
【发布时间】:2012-07-30 09:13:51
【问题描述】:

JavaSESpringApache Commons StringUtils 中是否有任何内容可以让我从字符串中去除 HTML,但也可以提供我希望允许的 HTML 实体白名单?

谢谢

【问题讨论】:

  • 使用 apache commmons 2.4 和 Spring 3.1
  • 在阅读了大量文档后,我认为我正在寻找的东西并不存在。我将不得不使用正则表达式来删除我不想要的东西(黑名单),或者想出另一种方法来摆脱除我想要的东西之外的所有东西。我对黑名单方法不满意,因为肯定会遗漏一些东西。我很惊讶我们正在使用的库中没有任何东西不够灵活,无法为我们做到这一点。

标签: java spring security xss apache-stringutils


【解决方案1】:

您可以查看 OWASP AntiSamy project。它具有默认策略文件,但您可以根据需要对其进行定制;有关详细信息,请参阅Developer Guide

【讨论】:

  • 我不太可能将新库添加到项目中,因此我希望使用已有的库。
  • 您可以使用 StringEscapeUtils.html#escapeHtml(java.lang.String),但它不允许将 AFAIK 列入白名单...
  • 我认为我们正在使用的框架和库中不存在我想要的东西。这是使用正则表达式解决的。
【解决方案2】:

使用正则表达式是这里的答案。在我可用的任何库中都没有解决此问题的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多