From 2af534eea471f4adb104906c7a814bcc66d4d68d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 13 九月 2021 13:03:58 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev --- ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java b/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java index 0170e1d..8af1257 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java @@ -1,9 +1,8 @@ package com.ruoyi.common.filter; -import cn.hutool.core.lang.Validator; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.io.IoUtil; import cn.hutool.http.HtmlUtil; -import org.apache.commons.io.IOUtils; +import com.ruoyi.common.utils.StringUtils; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -13,6 +12,7 @@ import javax.servlet.http.HttpServletRequestWrapper; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.nio.charset.StandardCharsets; /** * XSS杩囨护澶勭悊 @@ -57,15 +57,16 @@ } // 涓虹┖锛岀洿鎺ヨ繑鍥� - String json = IOUtils.toString(super.getInputStream(), "utf-8"); - if (Validator.isEmpty(json)) + String json = IoUtil.read(super.getInputStream(), StandardCharsets.UTF_8); + if (StringUtils.isEmpty(json)) { return super.getInputStream(); } // xss杩囨护 json = HtmlUtil.cleanHtmlTag(json).trim(); - final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8")); + byte[] jsonBytes = json.getBytes(StandardCharsets.UTF_8); + final ByteArrayInputStream bis = IoUtil.toStream(jsonBytes); return new ServletInputStream() { @Override @@ -78,6 +79,12 @@ public boolean isReady() { return true; + } + + @Override + public int available() throws IOException + { + return jsonBytes.length; } @Override @@ -101,6 +108,6 @@ public boolean isJsonRequest() { String header = super.getHeader(HttpHeaders.CONTENT_TYPE); - return StrUtil.startWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); + return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); } -} +} \ No newline at end of file -- Gitblit v1.9.3