From 41762f0ae5cfe49d6acfcfd87f293cd30c50c33f Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 1 May 2026 18:20:04 +0800 Subject: [PATCH] ✨ feat(im): 优化【消息引用】的功能,来自第二波 code review,解决安全性问题 --- yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java index f0adfa3..81ef9e6 100644 --- a/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java +++ b/yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImpl.java @@ -461,7 +461,11 @@ public class ImGroupMessageServiceImpl implements ImGroupMessageService { if (ObjUtil.notEqual(original.getGroupId(), reqVO.getGroupId())) { throw exception(MESSAGE_QUOTE_INVALID); } - // 校验对发送人可见(入群时间 / 退群时间 / 定向接收) + // 拒绝定向消息(仅发送人可见的内容若被全员广播 quote.content,会泄漏给原本看不到的成员) + if (CollUtil.isNotEmpty(original.getReceiverUserIds())) { + throw exception(MESSAGE_QUOTE_INVALID); + } + // 校验对发送人可见(入群时间 / 退群时间) if (!isMessageVisible(original, senderMember, senderMember.getUserId())) { throw exception(MESSAGE_QUOTE_INVALID); } -- libgit2 0.21.4