【发布时间】:2017-06-02 06:56:31
【问题描述】:
如何正确编码查询参数。我通过进行清理的 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:以下脚本的转义结果:alert("hi")
如果我保留第 4 行,我很容易受到 XSS 攻击。
如何解决这个问题?我想同时处理 JSON 和 HTML 请求参数。任何帮助将不胜感激。
【问题讨论】:
标签: java json security antisamy