1. db 연결, 해제 코드를 구현하는 정확한 위치? 2. db 또는 이메일 접속 정보 등 사용자 정보 보안 관련 처리 방법


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 또는 이메일 접속 사용자 정보에 대해 보안 관련 처리 방법

  • 2016년 05월 17일에 작성됨
    웹 사이트 공부 중입니다. 많은 도움 주시면 좋아요.

조회수 233


1 답변


좋아요
0
싫어요
채택취소하기

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

를 참고해보세요^

  • 2016년 05월 19일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close