본문 바로가기

LAMP/JavaScript

[Node.js] sanitizzeHtml

✅ 본문에 script 태그 등이 있을 때, 공격을 받거나 보안에 취약해질 수 있다.

sanitizzeHtml은 본문의 태그를 필터링해준다.

 

1. 설치

npm i sanitize-html

 

2. 변환

// description 내용
<script>
alert("merong");
</script>
// 사용 시
let sanitizzeHtml = require("sanitize-html");

let sDesc = sanitizzeHtml(description);

 

❓ 변환하지 않으면?

내용에 적힌 코드(script - alert)가 작동 된다.

변환 시 아무 alert 없이 정상적으로 화면이 보여진다.

 

❓ 일부 태그만 허용하고 싶다면?

let sDesc = sanitizzeHtml(description, {
    allowedTags: ["h1"],
});

 

❗ 결과

h1 태그는 정상적으로 적용되지만, alert는 실행되지 않는다.

// TEST 내용
<h1>여기는 제목입니다.</h1>

<script>
alert("메롱메롱");
</script>

 

'LAMP > JavaScript' 카테고리의 다른 글

[JS] Callstack, Event Loop  (0) 2024.08.09
[JS] Promise & async/await 팁  (0) 2024.08.05
[Node.js] 기본 설정  (0) 2024.04.15
[Node.js] Mysql 연동  (0) 2024.04.05
[Node.js] Node.js 환경변수 설정  (0) 2024.04.03