如何正确编码查询参数。我通过进行清理的 Anti Samy 传递数据。其次,我需要传递清理后的字符串 unescapeHtml4 方法。因为有时我将 Json 作为我的请求参数(参见下面的示例 1)。
目前,我的代码如下:
String str = StringEscapeUtils.unescapeXml(xml);
ClearResult cr = antiSamy.scan(str);
String cleanStr = cr.getCleanHTML();
String s = StringEscapeUtils.unescapeHtml4(cleanStr);
示例 1:Json 作为请求:
如果我删除第 4 行,我最终会得到 {" name ": " Mav "}
示例 2:以下脚本的转义结果:< script >alert("hi") < script >
如果我保留第 4 行,我很容易受到 XSS 的攻击。
如何解决这个问题?我想同时处理 JSON 和 HTML 请求参数。任何帮助,将不胜感激。