我需要清理恶意html&的用户输入。由CKEditor
提交。我目前使用owasp-java-html-sanitizer
。为此目的,它也删除了嵌入的iframe。但我有真实的用例,例如在帖子中嵌入YouTube视频或幻灯片共享演示文稿。
我怎样才能安全地允许这样的嵌入式iframe?我使用Java。
答案 0 :(得分:0)
您需要将iframe元素和source属性设置为Html策略。 您可以像从java doc
修改的以下示例那样执行此操作 // Define the policy.
Function<HtmlStreamEventReceiver, HtmlSanitizer.Policy> policy
= new HtmlPolicyBuilder()
.allowElements("a", "p", "iframe")
.allowAttributes("href").onElements("a")
.allowAttributes("source").onElements("iframe")
.toFactory();
// Sanitize your output.
HtmlSanitizer.sanitize(myHtml, policy.apply(myHtmlStreamRenderer));