개발 팁

특수문자 변경 방법

HAyOunG0518 2020. 7. 9. 11:21

데이터베이스에 <안녕하세요>가 아닌 &lt;안녕하세요&gt;로 등록되어있는 값을 화면에 특수문자로 치환하여 노출시키는 방법

 

1) 관리자단인경우

luch-xss-servlet-filter-rule.xml 파일에서 특수문자를 허용해주는 필터를 사용하면됨. 

 

<url-rule>
  <url>맵핑주소(ex /write.do)</url>
  <params>
    <param name="linkUrl" usePrefix="true" useDefender="false" />
    <param name="programUrl" usePrefix="true" useDefender="false" />
    <param name="menuName" usePrefix="true" useDefender="false" />
  </params>
</url-rule>

2)사용자단인경우

보안취약점에 걸릴수있기때문에 필터적용을 할 수 없음

 

1. jsp단에서 변경하는경우

jtsl로 변경하는법 : https://needjarvis.tistory.com/51

 

 

[JSTL] Tag가 jsp 화면에 그대로 노출될 경우, escapeXml

스프링으로 웹을 구현하는 경우, jsp 출력은 십중팔구 JSTL을 사용할 것이다. JSTL로 로직을 구현하는 경우도 존재하지만, 왠만해서는 자바에서 비즈니스 로직을 구현하여 페이지에 전송하게 되는�

needjarvis.tistory.com

2. js에서 해당값을 넣어 태그를 생성해야하는경우

두번째줄처럼 text로 뿌리지않고 html로 뿌리면 특수문자로 자동 변경됨. text는 레알 문자열로 인식해버림

3. js에서 값을 인코딩 디코딩 해야할때

https://developer.mozilla.org/ko/search?q=decodeURI