사용자 도구

사이트 도구


web:신규서비스

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
web:신규서비스 [2021/01/04 16:17]
kwon37xi 만듦
web:신규서비스 [2021/01/11 16:52] (현재)
kwon37xi [HTML]
줄 239: 줄 239:
   * Jade/haml류가 안 된다면 가급적 HTML과 구분되는 템플릿 문법에 HTML의 정합성을 깨지 않는 [[java:template_engine|Java HTML Template Engines]]을 사용한다([[:handlebars|Handlebars.js]], [[java:pebble|Pebble]] 등).   * Jade/haml류가 안 된다면 가급적 HTML과 구분되는 템플릿 문법에 HTML의 정합성을 깨지 않는 [[java:template_engine|Java HTML Template Engines]]을 사용한다([[:handlebars|Handlebars.js]], [[java:pebble|Pebble]] 등).
  
 +===== 데이터와 HTML ===== 
 +  * 데이터 저장소는 항상 원천 데이터포맷을 명확히 하고 해당 포맷으로만 저장한다. 
 +  * 원천 데이터 포맷은 Text 라면 데이터 저장소에는 그냥 텍스트로 저장해야 한다. 이를 HTML 로 escape 해서 저장하지 말아야 한다. 
 +  * 예) 원천 데이터가 ''우리는 대박 할인해요 >.< !!'' 라는 데이터가 있을 때 이 데이터의 근본 형식은 TEXT 이다. 
 +  * 그런데, HTML로 외부에 저장할 때 이 Text 의 ''>.<'' 등이나 HTML 태그가 입력될 수 있다고 해서 원천 데이터 저장 자체를 HTML Escape 해서 저장하고자 하는 욕구를 느낄 수 있는데, 절대해서는 안된다. 
 +  * 사용자 측이 항상 HTML Browser 라는 보장도 없고, 검색엔진 등도 색인할 때 원천 데이터의 형식을 Text 로 해야할지 HTML로 해야할지 혼란스럽게 된다. 
 +  * 이로 인해 가끔씩 앱이나 일부 웹 애플리케이션에서 ''&lt;, &gt; &amp;'' 같은 문자열들이 노출되게 된다. 
 +  * HTML escape 의 책임은 데이터 저장소단이 아닌 View 단에서 해야한다.
 ===== 보안 ===== ===== 보안 =====
   * [[https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project|OWASP Top 10 숙지]] [[http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010%20Korean.pdf|한국어판]]   * [[https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project|OWASP Top 10 숙지]] [[http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010%20Korean.pdf|한국어판]]
web/신규서비스.txt · 마지막으로 수정됨: 2021/01/11 16:52 저자 kwon37xi