Coldfusion JSOUP-如何获取html中不允许的标记列表?
我使用JSoup保护富文本区域免受有害代码的攻击。如何获取传递给JSoup的parse、clean或isValid函数的字符串中所有不允许的标记/代码的列表 我使用ColdFusion,可以用JSoup解析文本,如下所示: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中
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!非常感谢托尼,我真的很感激!