如何在Grails 3.1.10 Restful Service中清理来自request.JSON的html / javascript

时间:2019-03-07 22:39:47

标签: json rest grails

我们有一个grails 3.1.10 restful服务,可在http帖子中接收json数据。此数据可能包含不需要的html / javascript。

使用encodeAsHTML和xss-sanitizer插件XssSanitizerUtil.stripXSS方法,我可以看到如何对单个字符串进行清理,但是如何通过过滤器或其他方法将其推到更高的范围,以便在控制器中使用request.JSON时它已经被消毒了吗?

还是已经有另一种更简单的方法来完成此任务?

1 个答案:

答案 0 :(得分:0)

我创建了一个拦截器以应用于适当的控制器。在其中,我制作了JSON parse(HttpServletRequest request)方法的副本。在解析输入流的方法的末尾,我插入了使用xss-sanitizer的Sanitizer类:

def body = IOUtils.toString(pushbackInputStream, encoding)
def sanitized = Sanitizer.sanitize(body)
json = JSON.parse(sanitized);