From 7e4791f27162f17bf41fb60e41f55e5caee31691 Mon Sep 17 00:00:00 2001 From: jungwoo <okjwoo@ajou.ac.kr> Date: Sat, 23 Jun 2018 14:54:00 +0900 Subject: [PATCH] =?UTF-8?q?secure=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- adapters/allcalorie-db-adapter.js | 13 ++++---- adapters/appdaily-db-adapter.js | 13 ++++---- adapters/appuser-db-adapter.js | 13 ++++---- adapters/appuserjson-db-adapter.js | 13 ++++---- adapters/calorie-db-adapter.js | 13 ++++---- adapters/foodlist-db-adapter.js | 13 ++++---- adapters/login-db-adapter.js | 33 +++++++++++++------- adapters/signup-db-adapter.js | 45 +++++++++++++++------------- adapters/trainer-db-adapter.js | 13 ++++---- adapters/trainer-login-db-adapter.js | 13 ++++---- adapters/userinput-db-adapter.js | 13 ++++---- adapters/userupdate-db-adapter.js | 13 ++++---- adapters/webdaily-db-adapter.js | 13 ++++---- adapters/webfood-db-adapter.js | 13 ++++---- adapters/webqa-db-adapter.js | 13 ++++---- adapters/webworkout-db-adapter.js | 13 ++++---- package-lock.json | 5 ++++ package.json | 1 + routes/login-router.js | 32 ++++++++------------ 20 files changed, 166 insertions(+), 135 deletions(-) diff --git a/.gitignore b/.gitignore index a5199f6..88069f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ -.idea \ No newline at end of file +.idea +db-config \ No newline at end of file diff --git a/adapters/allcalorie-db-adapter.js b/adapters/allcalorie-db-adapter.js index 34042ca..cc90e6b 100644 --- a/adapters/allcalorie-db-adapter.js +++ b/adapters/allcalorie-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); diff --git a/adapters/appdaily-db-adapter.js b/adapters/appdaily-db-adapter.js index 531e5d3..f79e530 100644 --- a/adapters/appdaily-db-adapter.js +++ b/adapters/appdaily-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/appuser-db-adapter.js b/adapters/appuser-db-adapter.js index 38c4fcd..d81f729 100644 --- a/adapters/appuser-db-adapter.js +++ b/adapters/appuser-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/appuserjson-db-adapter.js b/adapters/appuserjson-db-adapter.js index e9de807..cc00441 100644 --- a/adapters/appuserjson-db-adapter.js +++ b/adapters/appuserjson-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/calorie-db-adapter.js b/adapters/calorie-db-adapter.js index cad75f3..4e506e0 100644 --- a/adapters/calorie-db-adapter.js +++ b/adapters/calorie-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); diff --git a/adapters/foodlist-db-adapter.js b/adapters/foodlist-db-adapter.js index 4988492..3cc8848 100644 --- a/adapters/foodlist-db-adapter.js +++ b/adapters/foodlist-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/login-db-adapter.js b/adapters/login-db-adapter.js index ce017a7..a6806b7 100644 --- a/adapters/login-db-adapter.js +++ b/adapters/login-db-adapter.js @@ -1,18 +1,20 @@ +var bcrypt = require('bcrypt-nodejs'); var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); var adapter = {}; -var loginSearchQuery = 'SELECT * FROM appuser WHERE id=? AND password=?'; // id/pw를 이용하여 유저 정보 search +var loginSearchQuery = 'SELECT * FROM appuser WHERE id=?'; // id를 이용하여 유저 정보 search adapter.loginSearch = function(id, password, cb) { var resultCode = dbResult.Fail; @@ -24,16 +26,25 @@ adapter.loginSearch = function(id, password, cb) { connection.release(); cb(resultCode, []); } else { // db연결성공 - connection.query(loginSearchQuery, [id, password], function(err, rows) { + connection.query(loginSearchQuery, [id], function(err, rows) { if (err) { // 로그인 실패 console.log(err); resultCode = dbResult.Fail; connection.release(); cb(resultCode, []); } else { // 로그인 성공 - resultCode = dbResult.OK; - connection.release(); - cb(resultCode, rows); + bcrypt.compare(password, rows[0].password, function(err, res) { + if (res) { + console.log(res); + resultCode = dbResult.OK; + connection.release(); + cb(resultCode, rows); + } else { + resultCode = dbResult.Fail; + connection.release(); + cb(resultCode, []); + } + }); } }); } diff --git a/adapters/signup-db-adapter.js b/adapters/signup-db-adapter.js index ab2e998..d506c98 100644 --- a/adapters/signup-db-adapter.js +++ b/adapters/signup-db-adapter.js @@ -1,11 +1,13 @@ +var bcrypt = require('bcrypt-nodejs'); var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); @@ -16,7 +18,8 @@ var userWriteQuery = 'INSERT INTO appuser(id, password, name, email) VALUE (?,?, adapter.signupWrite = function(user, cb) { var resultCode = dbResult.Fail; - + var password = user.password; + console.log(user); pool.getConnection(function(err, connection) { if (err) { console.log(err) @@ -33,19 +36,21 @@ adapter.signupWrite = function(user, cb) { connection.release(); cb(resultCode); } else { - connection.query(userWriteQuery, [user.id, user.password, user.name, user.email], - function(err) { - if (err) { - console.log(err) - resultCode = dbResult.Fail; - connection.release(); - cb(resultCode); - } else { - console.log("signup success"); - resultCode = dbResult.OK; - connection.release(); - cb(resultCode); - } + bcrypt.hash(password, null, null, function(err, hash) { + password = hash; + connection.query(userWriteQuery, [user.id, password, user.name, user.email], function(err) { + if (err) { + console.log(err) + resultCode = dbResult.Fail; + connection.release(); + cb(resultCode); + } else { + console.log("signup success"); + resultCode = dbResult.OK; + connection.release(); + cb(resultCode); + } + }); }); } } else { // query가 오지 않는 경우 diff --git a/adapters/trainer-db-adapter.js b/adapters/trainer-db-adapter.js index c4dc50f..5999afa 100644 --- a/adapters/trainer-db-adapter.js +++ b/adapters/trainer-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/trainer-login-db-adapter.js b/adapters/trainer-login-db-adapter.js index 37ee209..3cf609f 100644 --- a/adapters/trainer-login-db-adapter.js +++ b/adapters/trainer-login-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/userinput-db-adapter.js b/adapters/userinput-db-adapter.js index 1d80bc3..c721117 100644 --- a/adapters/userinput-db-adapter.js +++ b/adapters/userinput-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/userupdate-db-adapter.js b/adapters/userupdate-db-adapter.js index 4f7eeb8..26f5fce 100644 --- a/adapters/userupdate-db-adapter.js +++ b/adapters/userupdate-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webdaily-db-adapter.js b/adapters/webdaily-db-adapter.js index 50eeb31..6be8edb 100644 --- a/adapters/webdaily-db-adapter.js +++ b/adapters/webdaily-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webfood-db-adapter.js b/adapters/webfood-db-adapter.js index e29871c..669c8f7 100644 --- a/adapters/webfood-db-adapter.js +++ b/adapters/webfood-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webqa-db-adapter.js b/adapters/webqa-db-adapter.js index 37ee209..3cf609f 100644 --- a/adapters/webqa-db-adapter.js +++ b/adapters/webqa-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webworkout-db-adapter.js b/adapters/webworkout-db-adapter.js index ecf5ebb..66e5b19 100644 --- a/adapters/webworkout-db-adapter.js +++ b/adapters/webworkout-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/package-lock.json b/package-lock.json index 4210ef6..3d6c26c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,11 @@ "safe-buffer": "5.1.1" } }, + "bcrypt-nodejs": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz", + "integrity": "sha1-xgkX8m3CNWYVZsaBBhwwPCsohCs=" + }, "bignumber.js": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.0.4.tgz", diff --git a/package.json b/package.json index 6f3e02b..19c74ef 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "url": "http://git.ajou.ac.kr/JINSUYUN/Capstone_Link.git" }, "dependencies": { + "bcrypt-nodejs": "0.0.3", "body-parser": "^1.18.3", "cookie-parser": "^1.4.3", "debug": "~2.6.9", diff --git a/routes/login-router.js b/routes/login-router.js index 16ca1fc..51787c4 100644 --- a/routes/login-router.js +++ b/routes/login-router.js @@ -22,28 +22,22 @@ router.post('/', function(req, res) { loginAdapter.loginSearch(userId, userPassword, function(resultCode,rows){ if(resultCode == dbConnection.OK){ if(rows.length > 0){ - if(rows[0].password == obj.password){ - if (resultCode == dbConnection.OK) { - var response; - console.log("login success"); - if(rows[0].sex == undefined || rows[0].age == undefined || rows[0].weight == undefined - || rows[0].height == undefined || rows[0].targetweight == undefined || rows[0].targetperiod == undefined - || rows[0].workperiod == undefined || rows[0].worklevel == undefined) { - response = Object.assign(rows[0], {"success":true, "survey":false}); - } else { - response = Object.assign(rows[0], {"success":true, "survey":true}); - } - console.log(response); - res.json(response); - } - else { - console.log("false reason: db disconnected"); - res.json({"success": false}); + if (resultCode == dbConnection.OK) { + var response; + console.log("login success"); + if(rows[0].sex == undefined || rows[0].age == undefined || rows[0].weight == undefined + || rows[0].height == undefined || rows[0].targetweight == undefined || rows[0].targetperiod == undefined + || rows[0].workperiod == undefined || rows[0].worklevel == undefined) { + response = Object.assign(rows[0], {"success":true, "survey":false}); + } else { + response = Object.assign(rows[0], {"success":true, "survey":true}); } + console.log(response); + res.json(response); } else { - console.log("false reason: wrong pw"); - res.json({"success":false}); + console.log("false reason: db disconnected"); + res.json({"success": false}); } } else { -- GitLab