

Future Engineering
기술의 최전선을 기록합니다.
JSP 주석, 아직도 `` 쓰시나요? 올바른 사용법
코드를 작성하다 보면 주석을 남기는 경우가 많습니다. 하지만 JSP 환경에서 어떤 주석을 사용하냐에 따라 보안 수준과 성능이 크게 달라집니다.
표준 주석: 서버 사이드 주석 <%-- --%>
JSP 페이지 내 개발 관련 주석은 <%-- --%>
를 사용하는게 좋습니다.
특징 및 장점
-
서버에서 완벽히 제거:
<%-- --%>
주석은 JSP 컨테이너가 서블릿 코드로 변환하는 과정에서 코드가 완전히 제거됩니다. 따라서 클라이언트(사용자)의 브라우저로 전송되는 최종 HTML 소스 코드에는 그 어떤 흔적도 남지 않습니다. -
강화된 보안: 개발자만 알아야 할 로직 설명, 임시 코드, 수정 히스토리 등 민감할 수 있는 내용이 외부에 노출되는 것을 원천적으로 차단합니다. 시스템의 내부 로직이나 아키텍처 정보 유출을 막는 가장 기본적인 보안 장치입니다.
-
미세한 성능 최적화: 불필요한 주석 텍스트가 최종 HTML에 포함되지 않으므로, 전송되는 데이터 양이 미세하게나마 감소하여 성능 최적화에 기여합니다.
사용 금지: HTML 주석 ``
JSP 페이지에서 서버 로직이나 개발 관련 내용을 설명할 때 HTML 주석인 ``의 사용은 피해야 합니다.
문제점
-
클라이언트에 그대로 노출: HTML 주석은 서버에서 별다른 처리 없이 사용자에게 그대로 전송됩니다. 이는 브라우저의 '페이지 소스 보기' 기능을 통해 누구나 주석의 내용을 확인할 수 있음을 의미합니다.
-
보안 취약점 발생: 주석 안에 내부 IP 주소, 데이터베이스 쿼리 일부, 임시 테스트 코드, 개발 담당자 정보 등이 남아있다면, 이는 공격자에게 시스템의 내부 구조를 파악할 단서를 제공하는 심각한 보안 취약점으로 작용할 수 있습니다.
안전하고 효율적인 코드를 위해...
JSP 개발자는 주석을 작성할 때, 해당 내용이 사용자에게 노출되는지 여부를 명확히 인지해야 합니다. 사소해 보일 수 있지만, 주석 사용 방식 하나가 시스템의 보안 수준을 좌우할 수 있습니다.
개발과 관련된 모든 주석은 반드시 서버 사이드 주석 <%-- --%>
을 사용하는 것을 원칙으로 삼아, 더 안전하고 효율적인 코드를 작성하는 습관을 들여야 합니다.