Node.js (4) 썸네일형 리스트형 Node.js 쿼리 인젝션 방지 mysql을 사용하면서 데이터베이스에 치명적인 데미지를 줄 수 있는 Sql 인젝션에 대해 알아보았습니다. 해커가 악의적인 Sql 쿼리문을 통해 데이터에 데미지를 주거나 권한을 뺏는 것을 얘기 합니다. 일반적으로 쿼리문을 사용 할 때 db.execute(` INSERT INTO products (title, price, imageUrl, description) VALUES ('${this.title}', ${this.price}, '${this.imageUrl}', '${this.description}') `); 이렇게 사용 하게 되면 쿼리 문자열로 포함이 되기 때문에 취약 해집니다. 따라서 쿼리 인젝션을 방지 하기 위해선 db.execute(` INSERT INTO products (title, pric.. Node.js 와 Mysql 데이터 삽입 유데미 Node.js 강의를 보면 기존의 쇼핑 사이트는 데이터를 json형태로 관리 하였습니다. 이제는 Mysql을 통해서 데이터를 집어 넣도록 하겠습니다. 제품을 관리하는 models폴더 안에 있는 product.js에서 제품을 저장 할 수 있게하는 save() 기능을 만들도록 하겠습니다. module.exports = class Product { constructor(id, title, imageUrl, description, price) { this.id = id; this.title = title; this.imageUrl = imageUrl; this.description = description; this.price = price; } save() { return db.execute ('INS.. Node.js와 Mysql 연동 유데미에서 강의를 들으면서 진행하던 중 mysql과 연동하는 과정에서 "npm install --save mysql2"을 입력하는 장면이 나왔다. 나 또한 똑같이 입력을 하였으나 mysql은 제대로 설치가 됐으나, 보안상 문제가 발생했으니 "npm audit fix --force"을 입력하라고 나왔다. 그래서 입력하고 설치 했다. 다음으로는 mysql에서 새로운 스키마를 생성한다. 나는 node-complete라고 만들었다. 제품 테이블에서 필요한 것인 id, 제목, 가격, 설명, 이미지 주소 이다. 각각 설정을 해주고 apply 버튼을 누르면 된다. 그렇게 만들고 나서 products에서 제일 오른쪽에 있는 아이콘을 클릭해준다. 이렇게 제품에 대한 정보를 입력하면 sql은 끝이다. const mysql.. node.js 설정 하기 기본적으로 node.js를 이용해 백엔드를 구현 할 때 필요한 설정이다. 템플릿 엔진으로는 ejs를 사용한다. 아무것도 없는 상태에서 Node.js 환경 설정 하기 app.js를 생성 , (서버의 뿌리가 되는 app.js 환경설정과는 별 상관이 없습니다.) npm init을 통해 package.json을 생성한다. npm install --save express ejs body-parser을 터미널에 입력하여 package-lock.json파일을 생성 한다. npm install --svace-dev nodemon 을 터미널에 입력한다. 설치가 되면 package.json 파일에서 dependencies에 nodemon이 추가 된 것을 확인 할 수 있다. "dependencies": { "body-par.. 이전 1 다음