1. db 연결, 해제 코드를 구현하는 정확한 위치? 2. db 또는 이메일 접속 정보 등 사용자 정보 보안 관련 처리 방법
조회수 2976회
1.
var mysql = require('mysql');
var conn = mysql.createConnection(dbconfig.connection);
conn.connect(function(err) {
if (err) {
console.log('Error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + conn.threadId);
});
conn.query('USE ' + dbconfig.database);
위 코드를 .js 파일 제일 처음에 작성하고,
conn.end(); // 또는
conn.release();
로 db 처리를 끝냅니다.
그런데,
Error: Cannot enqueue Query after invoking quit.
같은 에러가 발생하여서 db 연결 열고, 닫고를 잘못했나 싶습니다.
2.
웹 개발할 때 ( node.js ) 로그인 정보 관련 보안은 어떻게 처리해야 하나요.
예를 들면,
nodemailer 모듈을 사용할 때
var smtpTransport = nodemailer.createTransport('SMTP', {
service : 'Gmail',
auth : {
user : 'email@test.com',
pass : 'email1234!'
}
});
에서 user, pass 정보를 .js 파일에 단순히 저장해도 보안상 문제 없는 방법인지,
또는 mysql 모듈을 사용할 때,
module.exports = {
'connection': {
'host': '127.0.0.1',
'user': 'root',
'password': 'admin1234'
},
'database': 'test',
'user_table': 'tb_test'
};
와 같이 .js 파일로 config 형식으로 저장하여 불러와 사용해도 되는지요.
웹 개발할 때 사용자 정보 처리에 대해 궁금합니다.
1.mysql 모듈 사용시 db 연결 해제에 대해 처리 위치 또는 방법
2.db 또는 이메일 접속 사용자 정보에 대해 보안 관련 처리 방법
1 답변
-
MySQL에서 db 연결을 해제하는 방법은 query function 내에서 connection을 release 하면 됩니다.
예를 들면, 다음과 같이요.
conn.query('select * from users', function (err, rows) { if(err) { conn.release(); throw err; } // ... conn.release(); });
이 때, 에러가 발생하여도 connection을 반납해야 하는 것을 잊지 말아야 합니다^
두 번째 질문은
http://stackoverflow.com/questions/22348705/best-way-to-store-db-config-in-node-js-express-app
를 참고해보세요^
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력