用于过滤用户输入内容的Java库?

时间:2013-07-30 13:27:19

标签: java security filtering

我正在做一个基于Java的Web应用程序。它允许用户输入显示给其他用户的内容。

当然,出于安全考虑,我必须过滤用户内容以防止XSS和其他攻击。

据我所知,过滤用户内容是一个备受争议的主题。我在SO上发现了许多帖子,但它们与理论讨论,PHP,想法等有关。我需要一个Java库来避免重写/发明一切。我觉得那里肯定有一个。

我可以使用这样的图书馆吗?

感谢您的任何信息!

1 个答案:

答案 0 :(得分:2)

如果您想要清理用户输入以阻止XSS,那么OWASP会在AntiSamy项目中为此提供标准实施。

在名为owasp-java-html-sanitizer的Google代码上有更好的实现,这允许您以编程方式定义策略,然后通过策略运行可疑HTML,这将删除所有废话。

以下是他们网站上的一个例子:

PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
String safeHTML = policy.sanitize(untrustedHTML);

这会创建一个策略,只允许在可疑HTML中进行格式化和链接,其他所有内容都将被删除。