MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Ẩn chính xác thông tin đăng nhập cơ sở dữ liệu

... Tôi có tệp kết nối db của mình và một tệp "được bảo vệ" khác, nơi chứa thông tin đăng nhập của tôi và tệp này được bao gồm trong .gitignore. Tôi nhập nó và tiếp cận dữ liệu ..

Cách chính xác để làm điều đó là sử dụng các biến envrironmental.

Sử dụng các biến môi trường

Các biến môi trường được đặt trên môi trường , tức là máy phát triển cục bộ của bạn hoặc máy chủ sản xuất từ ​​xa. Sau đó, trong ứng dụng của bạn, bạn đọc các biến môi trường và sử dụng chúng một cách thích hợp.

Có (ít nhất) một vài lý do khiến nó thường được thực hiện như thế này:

  • Thông tin xác thực không tồn tại trong tệp mà ai đó đang xem nội dung kho lưu trữ có thể đọc được. Ai đó sao chép kho lưu trữ không cần biết của bạn thông tin đăng nhập cơ sở dữ liệu.
  • Thông tin xác thực có thể khác nhau giữa các môi trường. Bạn có thể đang sử dụng một cơ sở dữ liệu khác trên máy phát triển cục bộ và một cơ sở dữ liệu khác trong máy chủ sản xuất từ ​​xa của mình.

Đây là cách bạn đặt các biến môi trường (đây là cho Linux, các hệ điều hành khác có thể khác):

$ export MONGO_DB_USERNAME=foo
$ export MONGO_DB_PASSWORD=bar

và đây là cách bạn đọc chúng trong Node.js:

console.log(process.env.MONGO_DB_USERNAME) // logs 'foo'
console.log(process.env.MONGO_DB_PASSWORD) // logs 'bar'

hoặc chuyển các biến cho quy trình khi khởi động

Ngoài ra, bạn có thể chuyển các biến khi bắt đầu quá trình như sau:

$ MONGO_DB_USERNAME=foo MONGO_DB_PASSWORD=bar node app.js

Tuy nhiên, điều đó thường không được khuyến khích vì hầu hết bạn có thể bắt đầu quá trình của mình thông qua tập lệnh bắt đầu npm. Kể từ package.json , nơi bắt đầu npm start lệnh được xác định, luôn được cam kết với kho lưu trữ, nó đánh bại toàn bộ mục đích của việc ẩn thông tin đăng nhập.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Percona Live 2017 - Bản tóm tắt của Somenines

  2. Sự cố khi chạy ví dụ trong Meteor

  3. Làm cách nào để sử dụng biến regex trong truy vấn cho MongoDB

  4. Sửa đổi và phát lại oplog MongoDB

  5. Truy cập cơ sở dữ liệu sản xuất Meteor