◎ XSS 란?
크로스 사이트 스크립팅 (또는 사이트 간 스크립팅) 이라고 불리며 영문명칭은 cross-site scripting 로 영문약어는 xss 이다 웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹사이트 관리자가 아닌 사용자가 웹페이지에 악성 스크립트를 삽입할수 있는 취약점이다.
그래서 웹개발자들은 주로 xss필터를 고려하여 개발을 한다. sanitize-html 은 이러한 공격 기법을 막기위해 나온 nodejs의 모듈이다.
◎ sanitize-html 란?
▼ 내용
sanitize : 소독하다
html의 input 또는 textarea 또는 기타등등의 사용자 입력정보에 <script>코드기술</script> 이란 정보를 적을시 웹브라우저에서 저게 txt가 아닌 script 기술로 받아들여서 사용자가 이를 악용하여 악성스크립트를 집어넣을 수 있다.
이것을 방어하기 위한 node의 패키지모듈로 <script>,<a> 등등 기타 태그들을
변환시켜주어 악성스크립트로 변질되는 것을 막아주는 보안 라이브러리다.
◎ sanitize-html 설치방법
▼ 내용
-S : 해당프로젝트에서만 적용
-g : 전체 글로벌 적용
◎ sanitize-html 사용법
▼ 공식문서
▼ 예제
▼ 결과
▼ 내용
위 처럼 sanitize 를 사용하면 script 같은 태그는 출력이 안되게하고, h1 태그같은경우도 태그는 없애 버린다. 하지만 웹에서 실행해보면 글씨포인트는 커진상태로 태그만 사라진다. 이처럼 악성스크립트를 사전에 차단시킬수 있다. xss필터 같은경우로 사용할수 있다.
◎ sanitize-html 태그 허용하기
▼ 내용
모든걸 sanitize 로 자동 clean 시키는게아니라. 허용적으로 태그를 허용하게 할수도있다.
▼ 공식문서
▼ 예제
'프로그래밍 > NodeJS' 카테고리의 다른 글
NODE JS - 데이터 압축하기,URL로 파일접근하기 (0) | 2019.03.27 |
---|---|
NODE JS - PM2 패키지 설치 (3) | 2019.03.27 |
NODE js - FORM 데이터 가져오기 (0) | 2019.03.21 |
NODE JS - 모듈이란? , module.export 와 exports의 차이 (1) | 2019.03.20 |
NODE JS - File System 파일 생성,삭제,수정,동기와 비동기 (0) | 2019.03.20 |