Skip to content

Commit 008d07e

Browse files
committed
将项目中的fastjson相关代码删去,换用jackson
但:justauth依赖中也用到了fastjson,如果用不到第三方登录,可以打开pom.xml找到justauth依赖处,有注释说明
1 parent 714b1bb commit 008d07e

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

pom.xml

+7
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,13 @@
190190
<groupId>me.zhyd.oauth</groupId>
191191
<artifactId>JustAuth</artifactId>
192192
<version>${justauth.version}</version>
193+
<!-- 如果用不到第三方登录,可以将下面这个注释掉的 exclusions 打开,将justauth里用到的fastjson排队掉,这样就不会报漏洞了 -->
194+
<!--<exclusions>
195+
<exclusion>
196+
<groupId>com.alibaba</groupId>
197+
<artifactId>fastjson</artifactId>
198+
</exclusion>
199+
</exclusions>-->
193200
</dependency>
194201

195202
<!--云存储 OSS-->

src/main/java/co/yiiu/pybbs/config/websocket/MessageDecoder.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package co.yiiu.pybbs.config.websocket;
22

3+
import co.yiiu.pybbs.util.JsonUtil;
34
import co.yiiu.pybbs.util.Message;
4-
import com.alibaba.fastjson.JSON;
55

66
import javax.websocket.Decoder;
77
import javax.websocket.EndpointConfig;
88

99
public class MessageDecoder implements Decoder.Text<Message> {
1010
@Override
1111
public Message decode(String s) {
12-
return JSON.parseObject(s, Message.class);
12+
return JsonUtil.jsonToObject(s, Message.class);
1313
}
1414

1515
@Override
1616
public boolean willDecode(String s) {
1717
// 验证json字符串是否合法,合法才会进入decode()方法进行转换,不合法直接抛异常
18-
return JSON.isValid(s);
18+
return JsonUtil.isValid(s);
1919
}
2020

2121
@Override

src/main/java/co/yiiu/pybbs/config/websocket/MessageEncoder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package co.yiiu.pybbs.config.websocket;
22

3+
import co.yiiu.pybbs.util.JsonUtil;
34
import co.yiiu.pybbs.util.Message;
4-
import com.alibaba.fastjson.JSON;
55

66
import javax.websocket.Encoder;
77
import javax.websocket.EndpointConfig;
88

99
public class MessageEncoder implements Encoder.Text<Message> {
1010
@Override
1111
public String encode(Message o) {
12-
return JSON.toJSONString(o);
12+
return JsonUtil.objectToJson(o);
1313
}
1414

1515
@Override

src/main/java/co/yiiu/pybbs/util/JsonUtil.java

+10
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,14 @@ public static String objectToJson(Object obj) {
4646
return null;
4747
}
4848
}
49+
50+
public static boolean isValid(String json) {
51+
try {
52+
objectMapper.readTree(json);
53+
return true;
54+
} catch (JsonProcessingException e) {
55+
log.error("validate json string error: {}", e.getMessage());
56+
return false;
57+
}
58+
}
4959
}

0 commit comments

Comments
 (0)