我正在构建一个基于AdobeCQ5.6.1的web应用程序。我需要使用SlingHttpServletRequest.getRequestParameters(..),,我也希望当我调用这个方法时,我应该得到修改后的请求参数,这些参数都是经过清理的
现在,为了确保这个方法返回XSS干净的数据,我考虑编写一个过滤器类,当我试图覆盖getRequestParameter,getRequestParameters方法时,这个类不能工作。但是,由于返回类型是RequestParameter (或它们的数组),我无法执行。对于HttpServletRequest,返回是字符串,因此我可以返回修改过的字符串。
请建议一下。
发布于 2014-03-31 08:12:18
Sling中的请求和响应的工作方式与旧的普通JEE完全相同。如果您想要覆盖过滤器中的某个请求参数(如示例中所示),则必须修改它们,然后沿着筛选器链(如果需要)传递包装的请求。
看见
http://sling.apache.org/apidocs/sling5/org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html
在您的具体案例中,我建议您看看case中来自Granite的XSS。对不起,没有链接,因为它目前提供503。
戴维德
https://stackoverflow.com/questions/22721326
复制相似问题