본문 바로가기

WebApp/Node.js

Node.js-security

security - 보안의 기초

예를들어 우리의 app안에 database를 이용해서(데이터를 관리하는 소프트웨어)를 데이터를 관리할껀데

그렇게 하기 위해선 우리의 app어딘가에 id값과 passward값을 입력해놔야한다

에를 들어 passward.js라는 파일에 id와 passward값을 입력해 놨다고치면

사용자가 주소창에 ../passward.js라고 치면 현재디렉토리의 부모디렉토리의 passward.js파일을

가르키게되고

그 파일을 읽어서 화면에 표시해버린다

 

 

이문제를 해결하기 위해 

nodejs path parse 노드제이에스 경로 분석

path.parse(path)

파스에다가 인자를 주면 파스라는 메소드가 아래의 결과를 리턴한다

node(즉석실행 console.log없이)

var path = require('path')

path.parse('../password.js')

 

결과 {root:'';

dir:'..

base:'~~

~~~}

우리가 필요한건.base

그러면 ../password.js라고 입력해도 경로를 탐색해나갈수 있는 경로를 세탁할 수 있다

 

자 그럼 main.js에서 사용자로부터 경로가 들어오는 모든 곳의 내용을 바꿔줘야한다

사용자가 입력한 정보 즉 외부에서 들어온 정보와 우리가 코드로짠 코드가 외부로 갈때

모두 코드가 오염될 수 있기떄문에 모두 철저히 의심해라

일단 외부에서 들어오는 정보는 리드파일

filerdID =path.parse('경로정보).base

 

filteredID로 인해 ../가 사라지고 password.js만 인식되어 readFile은 data파일 내부에 있는 password.js의 내용을 찾게 되기 때문에 undefinded가 나오는 것이다

 

결론은 경로정보(../)를 숨긴다는것

'WebApp > Node.js' 카테고리의 다른 글

Node.js-security2  (0) 2020.08.17
Node.js-Module활용  (0) 2020.08.14
Node.js- Module  (0) 2020.08.13
Node.js- delete 기능 구현  (0) 2020.08.11
Node.js-updata화면 만들기  (0) 2020.08.10