HtmlUtils.htmlEscape()는 Spring Framework에서 제공하는 유틸리티 메소드로서, 입력된 문자열 내에 있는 특수 문자들을 HTML Escape 처리를 해주는 메소드입니다.
HTML Escape 처리란, 특수 문자를 그대로 HTML에서 해석되지 않도록 변경하는 것을 의미합니다. 예를 들어, '<' 문자는 HTML에서 태그의 시작을 나타내는데, 이를 '<' 로 바꾸어 HTML에서는 '<' 문자로 해석되지 않도록 만드는 것이 HTML Escape 처리입니다.
이런 처리를 하는 이유는 보안과 관련이 있습니다. 사용자로부터 입력받은 문자열을 그대로 출력할 경우, 악의적인 사용자가 스크립트를 삽입할 수 있습니다(XSS, Cross-Site Scripting 공격). 이런 공격을 막기 위해, 사용자 입력 문자열을 그대로 출력하지 않고 HTML Escape 처리를 해서 출력합니다.
따라서 HtmlUtils.htmlEscape(message.getMessage())는 message.getMessage()에서 반환되는 문자열을 HTML Escape 처리한 후 반환하는 코드입니다. 이를 통해 사용자가 입력한 메시지 내에 잠재적으로 위험한 문자열이 포함되어 있어도 안전하게 출력할 수 있습니다.
예시 코드
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
String nickname = message.getNick(); //닉네임 가져오기
String time = message.getTime();
String greetingMessage = "<div class='message'><span class='nick'>" + nickname + "</span> : <span class='text'>"
+ HtmlUtils.htmlEscape(message.getMessage()) + "</span> <span class='time'> - " + time + "</span></div>";
// Thread.sleep(500); // simulated delay
return new Greeting(greetingMessage);
}'Deep Dive > BACK' 카테고리의 다른 글
| 프로젝트에 사용할 Java 버전 결정 (0) | 2023.07.02 |
|---|---|
| 페이징 기능 (0) | 2023.06.24 |
| Ajax 통신 (0) | 2023.06.20 |
| 사진 리스트 업로드 (0) | 2023.06.20 |
| Spring Security 분석 (0) | 2023.06.20 |