ExpressJS - Çerezler

Çerezler, bir sunucu talebiyle istemciye gönderilen ve istemci tarafında saklanan basit, küçük dosyalardır / verilerdir. Kullanıcı web sitesini her geri yüklediğinde, bu çerez istekle birlikte gönderilir. Bu, kullanıcının eylemlerini takip etmemize yardımcı olur.

Aşağıdakiler, HTTP Çerezlerinin çeşitli kullanımlarıdır -

  • Oturum yönetimi
  • Kişiselleştirme (Öneri sistemleri)
  • Kullanıcı takibi

Tanımlama bilgilerini Express ile kullanmak için tanımlama bilgisi ayrıştırıcı ara yazılımına ihtiyacımız var. Yüklemek için aşağıdaki kodu kullanın -

npm install --save cookie-parser

Şimdi tanımlama bilgilerini Express ile kullanmak için, cookie-parser. tanımlama bilgisi ayrıştırıcı, istemci istek nesnesine eklenen tanımlama bilgilerini ayrıştıran bir ara yazılımdır . Kullanmak için, bizimindex.jsdosya; bu, diğer ara yazılımları kullandığımız gibi kullanılabilir. Burada aşağıdaki kodu kullanacağız.

var cookieParser = require('cookie-parser');
app.use(cookieParser());

çerez ayrıştırıcı, Çerez başlığını ayrıştırır ve doldurur req.cookiestanımlama bilgisi adlarıyla anahtarlanmış bir nesne ile. Yeni bir çerez ayarlamak için, Express uygulamanızda aşağıdaki gibi yeni bir rota tanımlayalım:

var express = require('express');
var app = express();

app.get('/', function(req, res){
   res.cookie('name', 'express').send('cookie set'); //Sets name = express
});

app.listen(3000);

Tanımlama bilginizin ayarlanıp ayarlanmadığını kontrol etmek için, tarayıcınıza gidin, konsolu çalıştırın ve şunu girin -

console.log(document.cookie);

Çıktı alacaksınız (tarayıcınızdaki uzantılar nedeniyle belki daha fazla çerez ayarlamış olabilirsiniz) -

"name = express"

Tarayıcı ayrıca, sunucuyu her sorguladığında çerezleri geri gönderir. Sunucunuzdan tanımlama bilgilerini görüntülemek için, sunucu konsolunda bir rotada, bu rotaya aşağıdaki kodu ekleyin.

console.log('Cookies: ', req.cookies);

Bu rotaya bir dahaki sefere bir istek gönderdiğinizde, aşağıdaki çıktıyı alacaksınız.

Cookies: { name: 'express' }

Son Kullanma Süresine Sahip Çerez Ekleme

Süresi dolan çerezler ekleyebilirsiniz. Süresi dolan bir çerez eklemek için, süresinin dolmasını istediğiniz zamana ayarlanmış 'expire' özelliğine sahip bir nesneyi iletmeniz yeterlidir. Örneğin,

//Expires after 360000 ms from the time it is set.
res.cookie(name, 'value', {expire: 360000 + Date.now()});

Son kullanma süresini ayarlamanın başka bir yolu, 'maxAge'Emlak. Bu özelliği kullanarak, mutlak zaman yerine göreli zaman sağlayabiliriz. Aşağıda bu yöntemin bir örneği verilmiştir.

//This cookie also expires after 360000 ms from the time it is set.
res.cookie(name, 'value', {maxAge: 360000});

Mevcut Çerezleri Silme

Bir çerezi silmek için clearCookie işlevini kullanın. Örneğin, adlı bir çerezi temizlemeniz gerekiyorsafooaşağıdaki kodu kullanın.

var express = require('express');
var app = express();

app.get('/clear_cookie_foo', function(req, res){
   res.clearCookie('foo');
   res.send('cookie foo cleared');
});

app.listen(3000);

Sonraki bölümde, oturumları yönetmek için çerezlerin nasıl kullanılacağını göreceğiz.