인프런 커뮤니티 질문&답변
메시지 전송 시 검증
해결된 질문
작성
·
38
0
StompCommand.SEND 도 있길래 궁금해서 질문 남깁니다! 메시지 전송 시 subscribe할 때와 같은 검증을 할 필요는 없을까요?
"채팅방에 참여자여야 메시지를 보낼 수 있다" 라는 검증이 자연스러운 흐름이 될 수 있을 것 같다고 생각했습니다.
답변 2
0
bradkim
지식공유자
안녕하세요 근영님.
일단, 좋은 질문 감사드립니다.
말씀해주신 내용을 고민해보니, send시점에도 사용자가 해당방의 참여자인지를 확인하는게 적절해 보입니다. 안 그러면 해당방에 참여자가 아닌데도 메시지를 발송할수 있을것 같습니다. 물론 메시지를 subscribe는 못하겠지만요.
말씀해주신 내용참고해서 서비스를 develop 시켜주시면 좋을것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 장근영님.
메시지를 전송할 때 추가적인 검증이 필요할지에 대한 훌륭한 질문을 주셨습니다. 보안을 강화하고 올바른 사용성을 확보하기 위한 검토 사항을 다음과 같이 정리할 수 있습니다:
메시지 전송 검증의 필요성:
- 메시지를 전송할 때, “채팅방에 참여해야 메시지를 보낼 수 있다”는 검증을 통해 채팅방 참여자에 대한 권한을 확실히 할 수 있습니다. 이는 비방이나 스팸 메시지를 방지하는 데에 큰 도움을 줄 수 있습니다.
- 메시지를 전송할 때, “채팅방에 참여해야 메시지를 보낼 수 있다”는 검증을 통해 채팅방 참여자에 대한 권한을 확실히 할 수 있습니다. 이는 비방이나 스팸 메시지를 방지하는 데에 큰 도움을 줄 수 있습니다.
StompCommand.SEND 검증:
- STOMP의 SEND 명령을 사용할 때, 메시지 전송 전에 사용자가 채팅방에 등록되어 있는지를 확인하는 로직을 추가하여 인증 및 권한 검사를 할 수 있습니다.
- 메시지를 전송 시 사용자의 세션 정보를 확인하거나 상호작용하는 채팅방 맥락에서 해당 사용자가 유효한 참여자인지 확인하는 절차를 구현하는 것이 좋습니다.
- STOMP의 SEND 명령을 사용할 때, 메시지 전송 전에 사용자가 채팅방에 등록되어 있는지를 확인하는 로직을 추가하여 인증 및 권한 검사를 할 수 있습니다.
적용 방안:
- 서버 측에서 해당 메시지를 허용할 수 있는 사용자만 메시지를 전송하도록 필터링하는 방법이 있습니다.
- 서버에 메시지를 전송하기 전에 클라이언트 단에서 가능한 검증을 수행하여 서버로의 부하를 줄일 수도 있습니다.
- 서버 측에서 해당 메시지를 허용할 수 있는 사용자만 메시지를 전송하도록 필터링하는 방법이 있습니다.
보다 심도 있는 관련 토론과 예제를 확인하시려면 아래 링크를 참고하실 수 있습니다:
- STOMP에서 메시지 전송 및 연결 검증 처리 - 사용자 메시지 전송 및 연결 시 검증에 대한 정보 제공
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






답변 감사합니다!
그런데 "물론 메시지를 subscribe는 못하겠지만요." 라는 말이 무슨 의미인지 잘 이해가 안갑니다 ㅠㅠ
애초에 subscribe가 되어야 send가 가능하다는 의미일까요?