Browse Source

修复webSocket漏洞

zhoupeng 2 years ago
parent
commit
1207c9f5f0

+ 13 - 6
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/config/WebSocket.java

@@ -41,31 +41,38 @@ public class WebSocket {
 
     //前端请求一个webSocket时
     @OnOpen
-    public void onOpen(Session session, @PathParam("token") String token) {
-        log.info("连接websocekt:并且token为:{}", token);
+    public void onOpen(Session session, @PathParam("token") String token)  {
+//        log.info("连接websocekt:并且token为:{}", token);
         if (Blank.isNotEmpty(token)) {
             this.userId = Convert.toStr(redisUtil.get(token));
 //            throw new CustomException(ResultEnum.UNAUTHORIZED.getRespCode(), ResultEnum.UNAUTHORIZED.getRespMsg());
         }
 //        this.userId = Convert.toStr(redisUtil.get(token));
-        log.info("userId为:{}", userId);
+//        log.info("userId为:{}", userId);
         if (Blank.isNotEmpty(userId)) {
             redisUtil.set(ConstantStr.WEBSOCKET_STRING + userId, true);
         }
         this.token = token;
         this.session = session;
         webSocketSet.add(this);
+        if (Blank.isEmpty(token)){
+            try {
+                session.close();
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
     }
 
     //前端关闭一个webSocket时
     @OnClose
     public void onClose() {
-        log.info("关闭websocekt");
+//        log.info("关闭websocekt");
         webSocketSet.remove(this);
         if (Blank.isEmpty(userId)) {
             return;
         }
-        log.info("设置websocket{}的过期时间5s", userId);
+//        log.info("设置websocket{}的过期时间5s", userId);
         redisUtil.set(ConstantStr.WEBSOCKET_STRING + userId, true, 5);
         try {
             Thread.sleep(5000);
@@ -101,7 +108,7 @@ public class WebSocket {
     //前端向后端发送消息
     @OnMessage
     public void onMessage(String message) {
-        log.info("webSocket收到客户端消息{}", message);
+//        log.info("webSocket收到客户端消息{}", message);
         this.token = message;
         if (Blank.isEmpty(message)) {
             count += 1;