From 04d611e1c2dfa275cb5f2c4bccee4b98e07cb4ee Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 04 三月 2022 14:34:39 +0800
Subject: [PATCH] update 放行 actuator 路径
---
ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java | 59 ++++++++++++++++++++++++++---------------------------------
1 files changed, 26 insertions(+), 33 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 8561407..a8ffd66 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,8 +1,8 @@
package com.ruoyi.common.filter;
-import cn.hutool.core.lang.Validator;
+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;
@@ -12,32 +12,28 @@
import javax.servlet.http.HttpServletRequestWrapper;
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
/**
* XSS杩囨护澶勭悊
*
* @author ruoyi
*/
-public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
-{
+public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
/**
* @param request
*/
- public XssHttpServletRequestWrapper(HttpServletRequest request)
- {
+ public XssHttpServletRequestWrapper(HttpServletRequest request) {
super(request);
}
@Override
- public String[] getParameterValues(String name)
- {
+ public String[] getParameterValues(String name) {
String[] values = super.getParameterValues(name);
- if (values != null)
- {
+ if (values != null) {
int length = values.length;
String[] escapseValues = new String[length];
- for (int i = 0; i < length; i++)
- {
+ for (int i = 0; i < length; i++) {
// 闃瞲ss鏀诲嚮鍜岃繃婊ゅ墠鍚庣┖鏍�
escapseValues[i] = HtmlUtil.cleanHtmlTag(values[i]).trim();
}
@@ -47,46 +43,44 @@
}
@Override
- public ServletInputStream getInputStream() throws IOException
- {
+ public ServletInputStream getInputStream() throws IOException {
// 闈瀓son绫诲瀷锛岀洿鎺ヨ繑鍥�
- if (!isJsonRequest())
- {
+ if (!isJsonRequest()) {
return super.getInputStream();
}
// 涓虹┖锛岀洿鎺ヨ繑鍥�
- 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"));
- return new ServletInputStream()
- {
+ byte[] jsonBytes = json.getBytes(StandardCharsets.UTF_8);
+ final ByteArrayInputStream bis = IoUtil.toStream(jsonBytes);
+ return new ServletInputStream() {
@Override
- public boolean isFinished()
- {
+ public boolean isFinished() {
return true;
}
@Override
- public boolean isReady()
- {
+ public boolean isReady() {
return true;
}
@Override
- public void setReadListener(ReadListener readListener)
- {
+ public int available() throws IOException {
+ return jsonBytes.length;
}
@Override
- public int read() throws IOException
- {
+ public void setReadListener(ReadListener readListener) {
+ }
+
+ @Override
+ public int read() throws IOException {
return bis.read();
}
};
@@ -97,9 +91,8 @@
*
* @param request
*/
- public boolean isJsonRequest()
- {
+ public boolean isJsonRequest() {
String header = super.getHeader(HttpHeaders.CONTENT_TYPE);
return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3