Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menjaga pengguna tetap masuk dengan nodeJS

Anda perlu memahami perbedaan antara server ekspres dan server NodeJS asli, di sini tautan saya perbandingan server nodejs vs server ekspres

Jadi Anda dapat melakukan:

var app = express();
var server = http.createServer(app);

Ini memungkinkan Anda untuk tetap memiliki fungsi tingkat rendah dengan NodeJS.

Jadi, jika Anda tidak ingin menggunakan modul atau kerangka kerja yang ada, Anda dapat membuat pengelola sesi Anda sendiri:

  1. menggunakan kuki
  2. menggunakan IP/UA
  3. menggunakan soket

Cara terbaik adalah mengimplementasikannya terlebih dahulu dengan soket , misalnya:

server.on('connection', function (socket) {
  socket.id = id;
});

atau

server.on('request', function (req, res) {
  req.connection.id = id; // The socket can also be accessed at request.connection.
});

Jadi, Anda hanya perlu mengimplementasikan middleware yang memeriksa id.

Jika Anda ingin mencegah session prediction , session sidejacking , dll. Anda perlu menggabungkan cookie, ip, socket, dan ide Anda untuk membuatnya lebih aman untuk aplikasi Anda.

Setelah Anda menyelesaikan manajer sesi, Anda dapat memilih tempat untuk menyimpan sesi, dalam object sederhana , dalam redis , di mongodb , di mysql ... (express gunakan MemoryStore secara default, tapi mungkin tidak sekarang)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menambahkan bidang...ukuran baris...lebih besar dari ukuran maksimum yang diizinkan

  2. Sisipan MySQL, pembaruan sangat lambat

  3. Sisipkan baris baru dengan data yang dihitung dari baris lain

  4. Mengubah IP menjadi Long di MySQL

  5. Cara menjalankan beberapa Kueri Pembaruan dalam satu pernyataan di PHP dan mySQL