我正在构建基于Adobe CQ 5.6.1的Web应用程序。我需要使用SlingHttpServletRequest.getRequestParameters(..),我也希望当我调用这个方法时,我应该得到修改后的XSS清理请求参数
现在为了确保这个方法返回XSS干净数据,我想写了一个过滤器类,它不起作用,因为我试图覆盖getRequestParameter,getRequestParameters方法。但是我无法做到,因为返回类型是RequestParameter(或它们的数组)。在HttpServletRequest的情况下,返回是String,所以我可以返回修改后的String。
请建议。
答案 0 :(得分:0)
请求和响应在Sling中的工作方式与旧的普通JEE完全相同。如果你想在一个过滤器中覆盖一些Request参数,就像在你的例子中一样,你必须修改它们,然后传递过滤器链(如果需要的话)一个包装的请求。
见
在您的具体情况下,我建议您在CQ API中查看Granite的XSS API。抱歉没有链接,因为它目前正在给予503。
HTH 的Davide