간펴니
간편 자바프로그래밍
간펴니
전체 방문자
오늘
어제
  • 전체보기 (185)
    • 알고리즘 (2)
    • JAVA (69)
      • 이펙티브 자바 (47)
      • JAVA 병렬프로그래밍 (5)
      • 자바 (17)
    • SPRING (60)
      • Spring (12)
      • IceWater Community (37)
      • Homme Shop (10)
      • 토비의 스프링 (1)
    • SPRING BOOT (4)
      • WhiteRecord (7)
    • 오류 (9)
    • DB (10)
      • ORACLE (5)
      • MYSQL (1)
      • MYBATIS (4)
      • JPA (0)
      • 대용량 데이터 베이스 (0)
      • SQL (0)
    • FRONT (8)
      • JSP (2)
      • JavaScript (2)
      • Jquery (3)
      • Thymeleaf (1)
    • AWS (6)
    • JNI (10)
    • 회고 (0)
    • MQ (0)
    • Radis (0)
    • Git (0)
    • Docker (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 컨셉 변경

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
간펴니

간편 자바프로그래밍

FRONT/JSP

<c:out>을 사용하는 이유

2021. 7. 31. 20:59
728x90

jsp를 이용해서 뷰페이지를 작성하는 와중 ${} 앞에 <c:out>이 들어가는 이유가 궁금해졌다.넣지않고 코드를 작성해도 그대로 동작하는데 왜 사용하는 것 일까?

 

이유는, 보안성 관련이 크다

 

정보처리기사시험에서 본

XXS(Cross site Scripting) 크로스 사이트 스크랩핑 이라는

웹사이트에 스크립트 코드를 주입시켜서 웹사이트를 공격하는 방법인데,

html코드를 해석하지 않게 만들어 방어하기위해 c:out을 사용하는 것이였다.

 

이게 무슨뜻이냐면 

게시판을 구현해서 게시판에 글을 등록할때,

제목에 안녕하세요 를 작성할때

<script>alert<"안녕하세요"></script>

이런식으로 js를 넣으면 자바스크립트 코드가 실행된다..

 

그래서 출력 문자열에 HTML 특수문자(예: <, >, &, ' 또는 ") 포함되어 있을 경우

HTML을 해석하지 않고 그대로 출력되도록 해준다 라는 뜻이다.

 

c:out을 넣으면 제목에 <script>alert<"안녕하세요"></script> 가 그대로 출력된다.

자바 스크립트 코드로 개인정보를 훔치고, 악성코드를 심을 수도 있어 주의해야한다.

 

 

 

728x90
저작자표시 (새창열림)

'FRONT > JSP' 카테고리의 다른 글

(스프링)pageContext.request.contextPath의 사용  (0) 2021.07.20
    'FRONT/JSP' 카테고리의 다른 글
    • (스프링)pageContext.request.contextPath의 사용
    간펴니
    간펴니
    개발공부 기록하는 곳

    티스토리툴바