타임리프

이스케이프 처리 안하면 사용자가 난 <b>안녕</b>로 저장하고 싶었는데 갑자기 굵은 글씨로 안녕이라고 표시되는 문제가 발생한다.

따라서 기본적으로 이스케이프 처리를 해주어야 한다.

말씀하신 상황이 바로 HTML 이스케이프(escaping) 처리를 해야 하는 가장 대표적인 이유 중 하나입니다.

사용자가 입력한 <b>안녕</b>이라는 문자열을 웹 페이지에 그대로 출력할 경우, 브라우저는 이를 HTML 태그로 인식하여 '안녕'이라는 글자를 굵게 표시하게 됩니다. 사용자는 단순히 <b>안녕</b>이라는 텍스트 자체를 저장하고 싶었을 뿐인데, 의도와 다르게 웹 페이지가 렌더링되는 문제가 발생합니다.

이러한 문제를 방지하기 위해, 사용자로부터 입력받은 데이터를 웹 페이지에 출력하기 전에는 <를 &lt;로, >를 &gt;로 변환하는 등의 이스케이프 처리를 반드시 해주어야 합니다. 이렇게 하면 브라우저는 이를 단순한 텍스트로 인식하여 사용자가 입력한 그대로 <b>안녕</b>이라고 화면에 표시하게 됩니다.

이것은 단순히 표시 문제뿐만 아니라, 악의적인 스크립트 코드가 삽입되어 사용자 정보를 탈취하거나 웹사이트를 변조하는 크로스 사이트 스크립팅(XSS) 공격을 방지하는 보안상의 매우 중요한 조치이기도 합니다.

Last updated