Antisamy将单引号转换为双引号

时间:2018-05-31 11:43:00

标签: java html owasp antisamy

当我尝试通过antisammy扫描html标签时,它会产生奇怪的输出。它将单引号转换为双引号。

CleanResults cr = as.scan(dirtyContent, policy);
System.out.println(cr.getCleanHTML());

输入字符串 - <span style="font-family: 'times new roman', times, serif;">My name is Gourav</span>

输出字符串 - <span style="font-family: &quot;times new roman&quot; , times , serif;">My name is Gourav</span>

因此,正如您所看到的,单引号被编码为&quot;,在解码时会提供"而不是'。这给我带来了麻烦。

Antisammy版本 - 1.5.3

政策文件 - antisamy-anythinggoes.xml

我该如何解决这个问题?任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

尝试这个简单的解决方案

try
{
    .
    .
    .
    dirtyContent.replaceAll("'", "SOME_COMBINATION_OF_CHARS");
    CleanResults cr = as.scan(dirtyContent, policy);
    dirtyContent.replaceAll("SOME_COMBINATION_OF_CHARS", "'");// here is your sanitised data 
}
catch(Exception ex)
{
    //do something on expn
}