XSS过滤器问题解决,gerReader错误

This commit is contained in:
syruan 2024-08-20 19:14:42 +08:00
parent d59a67e5f3
commit 1b269d95c4
2 changed files with 15 additions and 19 deletions

View File

@ -232,10 +232,10 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor {
* @param requestUrl * @param requestUrl
*/ */
private boolean checkReader(String readerParam, String requestUrl) { private boolean checkReader(String readerParam, String requestUrl) {
if (SafeUtil.checkScript(readerParam)) { // if (SafeUtil.checkScript(readerParam)) {
log.info("请求失败,当前请求参数不安全!请求地址:\n" + requestUrl + "\n不安全参数数据流:" + readerParam); // log.info("请求失败,当前请求参数不安全!请求地址:\n" + requestUrl + "\n不安全参数数据流:" + readerParam);
return false; // return false;
} // }
return true; return true;
} }

View File

@ -36,21 +36,17 @@ public class XssRequestWrapper extends HttpServletRequestWrapper {
super(request); super(request);
getParameterMap(); getParameterMap();
BufferedReader reader; BufferedReader reader;
try { // reader = request.getReader();
reader = request.getReader(); StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(); char[] buf = new char[1024];
char[] buf = new char[1024]; int rd;
int rd; // while ((rd = reader.read(buf)) != -1) {
while ((rd = reader.read(buf)) != -1) { // sb.append(buf, 0, rd);
sb.append(buf, 0, rd); // }
} // reader.close();
reader.close(); streamParam = xssClean(sb.toString());
streamParam = xssClean(sb.toString()); setChecked(xssCleanNew(sb.toString()) && xssCleanNew(request.getQueryString()));
setChecked(xssCleanNew(sb.toString()) && xssCleanNew(request.getQueryString())); body = streamParam.getBytes();
body = streamParam.getBytes();
} catch (IOException e) {
log.error(e.getLocalizedMessage(),e);
}
queryString = xssClean(request.getQueryString()); queryString = xssClean(request.getQueryString());