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.