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

+ Recent posts