如何在 grails 3.1.10 restful 服务中清理 request.JSON 中的 html/javascript

How to sanitize html/javascript from request.JSON in grails 3.1.10 restful service

我们有一个 grails 3.1.10 restful 服务接收 http post 上的 json 数据。此数据可以包含不需要的 html/javascript。

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

或者是否已经有另一种更简单的方法来完成此操作?

我创建了一个拦截器以应用于适当的控制器。我在其中复制了 JSON parse(HttpServletRequest request) 方法。在解析输入流的方法快结束时,我插入了使用 xss-sanitizer 的 Sanitizer class:

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