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 |