2014-03-28 187 views
0

我正在構建基於Adobe CQ 5.6.1的Web應用程序。我有一個需要使用SlingHttpServletRequest.getRequestParameters(..),我也希望,當我把這種方法,我應該得到修改它們XSS清洗修改Sling請求參數

我們保證這個方法返回XSS乾淨的數據請求參數,我想寫一個過濾器類,因爲我試圖覆蓋getRequestParameter,getRequestParameters方法,所以不起作用。但是我無法做到,因爲返回類型是RequestParameter(或它們的數組)。在HttpServletRequest的情況下,返回值是String,所以我可以返回修改後的String。

  1. 如何修改Sling請求參數?
  2. 我在想,Sling請求參數是基於httpservletrequest.getParameter。它是否正確?

請建議。

+0

請提出您迴應 – ramesh

+0

建議WUD理解 – ramesh

回答

0

請求和響應在Sling中的工作方式與舊的簡單JEE完全相同。如果你想在你的例子中覆蓋過濾器中的一些Request參數,你必須修改它們,然後沿着過濾器鏈(如果需要的話)傳遞一個包裝請求。

http://sling.apache.org/apidocs/sling5/org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.html

在特定情況下,我建議你看看花崗岩的CQ API中的XSS API。對不起沒有聯繫,因爲它是目前給予503

HTH 達維德

+0

下面是[XSSAPI]在Java文檔(https://dev.day.com/docs /en/cq/current/javadoc/com/adobe/granite/xss/XSSAPI.html)。 –