Coldfusion JSOUP-如何获取html中不允许的标记列表?

Coldfusion JSOUP-如何获取html中不允许的标记列表?,coldfusion,jsoup,whitelist,Coldfusion,Jsoup,Whitelist,我使用JSoup保护富文本区域免受有害代码的攻击。如何获取传递给JSoup的parse、clean或isValid函数的字符串中所有不允许的标记/代码的列表 我使用ColdFusion,可以用JSoup解析文本,如下所示: var jsoupDocument = application.jsoup.parse( this.Description ); 如何使用JSoup的getErrors()函数获取列表,以查看哪些HTML不符合我的whitelist.relaxed()?我不相信JSoup中

我使用JSoup保护富文本区域免受有害代码的攻击。如何获取传递给JSoup的parse、clean或isValid函数的字符串中所有不允许的标记/代码的列表

我使用ColdFusion,可以用JSoup解析文本,如下所示:

var jsoupDocument = application.jsoup.parse( this.Description );

如何使用JSoup的
getErrors()
函数获取列表,以查看哪些HTML不符合我的
whitelist.relaxed()

我不相信JSoup中有直接函数可以根据您的白名单获取无效元素的列表。你得自己滚

这并不太复杂。您仍然可以使用
文档
对象,选择所有元素,然后使用jsoup的
isValid()
函数根据您的白名单单独检查它们

举个例子,这可能会让你开始

<cfscript>

jsoup = createObject("java", "org.jsoup.Jsoup");
whitelist = createObject("java", "org.jsoup.safety.Whitelist").relaxed();
form.textarea = '<header>Hi</header><script>hello</script><nav><li>Links</li></nav></textarea>';

badTags = [];
content = jsoup.parse(form.textarea).body().select("*");
for(element in content) {
    // tagName() doesn't inlcude the brackets so add them in
    tag = chr(60) & element.tagName() & chr(62);
    if (!jsoup.isValid(tag, whitelist)) {
        arrayAppend(badTags, tag);
    }
}

writeDump(badTags);

</cfscript>

jsoup=createObject(“java”、“org.jsoup.jsoup”);
whitelist=createObject(“java”,“org.jsoup.safety.whitelist”).relaxed();
form.textarea='Hihello
  • 链接
  • '; badTags=[]; content=jsoup.parse(form.textarea.body()。选择(“*”); for(内容中的元素){ //tagName()不包含括号,因此将它们添加到括号中 tag=chr(60)&element.tagName()&chr(62); 如果(!jsoup.isValid(标记,白名单)){ arrayAppend(标签,标签); } } writeDump(badtag);
    谷歌搜索“jsoup html不允许的标签”让我想到了这一点,我如何在coldfusion中实现这一点?就像一个charme!非常感谢托尼,我真的很感激!