728x90
Security
path
nodejs path parse
node
> var path = require('path');
undefined
> path.parse('../password.js');
{root: '',
dir: '..',
base: 'password.js',
ext: '.js',
name: ''password' }
> path.parse('../password.js').base;
'password.js'
사용자로부터 모든 경로가 들어오는 곳을 변경해 줍니다.
var path = require('path');
var filteredId = path.parse(queryDate.id).base;
fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){
// 코드
}
${filteredId} 경로에 데이터를 변경해 주었다.
사용자에게 시스템 경로를 보여주지 않게 변경해 주었다.
2. XSS (Cross-Site Scripting)
스크립트를 활용해 정보 탈취 및 수집 할수 있는 기법
3. XSS 보안 방법
sanitize-html [모듈]
스크립트 공격
<script>
alert('merong');
</script>
- 설치방법
npm init // 엔터 계속
모든 정보 엔터 하면 package.json 파일이 생성 된걸 확인 할 수 있다.
npm install -S sanitize-html // 설치
mode_modules 폴더가 생성된다.
- 사용방법
var sanitizeHtml = require('sanitize-html');
fs.readFile('./data', 'utd8', function(err, description){
var title = queryDate.id;
var sanitizeTitle = sanitizeHtml(title); //태그사용 못함
var sanitizeDescription = sanitizeHtml(description); //태그사용 못함
// 코드계속
}
input 데이터 값에 태그 넣고 Submint 하면 작성된 테그는 사용되지 않고 출력이 된다.
옵션을 사용해 사용하고 싶은 태그들은 아래 경로에 가면 옵션 사용법이 있다.
www.npmjs.com/package/sanitize-htm
'Node' 카테고리의 다른 글
[Node] npm package.json 생성 (0) | 2021.10.25 |
---|---|
[Node] express 초기 세팅 (0) | 2021.10.21 |
[Node] App 모듈 형식 (0) | 2021.05.02 |
[Node] JavaScript 객체 (0) | 2021.05.02 |
[Node] 글생성/수정/삭제 (0) | 2021.05.02 |
댓글