대딩코딩/웹개발 스터디
[Node.js] 20. 출력 정보에 대한 보안
시데브
2023. 11. 24. 16:46
해당 게시물은 유튜브 생활코딩 "Node.js" 강의 영상을 참고했습니다.
(https://www.youtube.com/watch?v=3RS_A87IAPA&list=PLuHgQVnccGMA9QQX5wqj6ThK7t2tsGxjm&index=1)
>> sanitize 처리 이전에는 사용자가 본문 내용을 어떻게 수정하느냐에 따라 해당 링크로 바로 이동되거나, 경고 메세지를 띄우게하는 등의 웹 페이지에 유의미한 영향을 주는 행위가 가능
npm init
npm install -S sanitize-html
>> npm sanitize 다운
...
var sanitizeHtml = require('sanitize-html');
...
var sanitizedTitle = sanitizeHtml(title);
var sanitizedDescription = sanitizeHtml(description, {
allowedTags: ['h1']
});
...
`<h2>${sanitizedTitle}</h2>${sanitizedDescription}`,
`<a href = "/create">create</a>
<a href = "/update?id=${sanitizedTitle}">update</a>
<form action="delete_process" method="post">
<input type="hidden" name="id" value="${sanitizedTitle}">
<input type="submit" value="delete">
</form>`
...
>> sanitize 처리로 본문에 태그 인식 X
728x90
반응형