Trong bài này chúng ta sẽ cùng nhau đi tìm hiểu về cookie trong Express. Khái niệm về cookie chắc hẳn đã khá quen thuộc với các bạn lập trình web nói chung và lập trình NodeJS nói riêng. cookie trong Express. Khái niệm về cookie chắc hẳn đã khá quen thuộc với các bạn lập trình web nói chung và lập trình NodeJS nói riêng. Show
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức. Vậy Cookie trong NodeJS hoạt động ra sao thì chúng ta cùng tìm hiểu nhé. 1. Cookie trong NodeJS là gì?Cookie là những tập tin một trang web gửi đến máy người dùng và được lưu lại thông qua trình duyệt khi người dùng truy cập trang web đó. Cookie được dùng để lưu trữ với rất nhiều mục đích như lưu phiên đăng nhập, hoạt động của người dùng khi truy cập trang web.là những tập tin một trang web gửi đến máy người dùng và được lưu lại thông qua trình duyệt khi người dùng truy cập trang web đó. Cookie được dùng để lưu trữ với rất nhiều mục đích như lưu phiên đăng nhập, hoạt động của người dùng khi truy cập trang web. Cookie có nhiều loại khác nhau và phân chia theo từng mục đích sử dụng. Dưới đây là một số loại cookie để bạn tham khảo, ngoài ra còn nhiều loại cookie khác, bạn có thể tự mình tìm hiểu thêm : có nhiều loại khác nhau và phân chia theo từng mục đích sử dụng. Dưới đây là một số loại cookie để bạn tham khảo, ngoài ra còn nhiều loại cookie khác, bạn có thể tự mình tìm hiểu thêm : Bài viết này được đăng tại [free tuts .net]
2. Làm việc với cookie bằng middleware cookie-parseĐể sử dụng cookie trong express chúng ta cần phải cài thêm một vài middleware bên thứ 3 để hỗ trợ việc sử dụng cookie, nếu bạn chưa hiểu middleware là gì thì hãy xem lại bài tìm hiểu về middleware trong Express. Ở đây mình sử dụng middleware có tên //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())1, để cài đặt //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())1 ta mở terminal lên và gõ dòng lệnh : npm i --save cookie-parser Thêm cookie-parser vào ExpressĐể có thể sử dụng cookie-parser chúng ta cần thêm middleware này vào trong dự án express của mình bằng cách khai báo sử dụng middleware cookieParse() :cookie-parser chúng ta cần thêm middleware này vào trong dự án express của mình bằng cách khai báo sử dụng middleware cookieParse() : //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser()) Chúng ta có thể truyền vào method này 2 tham số : cookieParser(secret, options)
Tạo cookie mớiĐể tạo một cookie mới ta sử dụng cú pháp: res.cookie(name, value, [options]) chúng ta có 3 tham số có thể thêm vào :
tham số options là một objects có thể có các thuộc tính như :
pathpath của cookie, mặc định là '/' var express = require('express'); var app = express(); var cookieParser = require('cookie-parser'); app.use(cookieParser()) app.get('/cookie', function(req, res){ res.cookie('name', 'freetuts.net', { expires: new Date(Date.now() + 900000)}); res.send('success') }); app.listen(3000) secure Đánh dấu cookie chỉ có thể được sử dụng ở giao thức https Dev Tools -> Application -> Cookies signedĐánh dấu cookie nên được signed sameSite boolean hoặc string app.get('/getCookie', function(req, res){ if (req.cookies.name) res.send(`Cookie name co gia tri la ${req.cookies.name}`) res.send('Khong the tim lay cookie co ten la name') }); Giá trị sameSite của thuộc tính Set-Cookie var express = require('express'); var app = express(); var cookieParser = require('cookie-parser'); app.use(cookieParser()) app.get('/cookie', function(req, res){ res.cookie('name', 'freetuts.net', { expires: new Date(Date.now() + 900000)}); res.send('coookie set') }); app.get('/getCookie', function(req, res){ if (req.cookies.name) res.send(`Cookie name co gia tri la ${req.cookies.name}`) res.send('Khong the tim lay cookie co ten la name') }); app.listen(3000) Làm ví dụ về Cookie Chúng ta cùng tạo một ví dụ nhỏ về tạo cookie. Tạo file //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())5 có nội dung như sau: Cookie name co gia tri la freetuts.net mở terminal lên và chạy dòng lệnh: Khong the tim lay cookie co ten la name sau đó mở trình duyệt và truy cập địa chỉ //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())6, bạn có thể xem cookie của trang web trên trìn duyệt bằng cách mở Dev Tools -> Application -> CookiesLấy giá trị của cookie res.clearCookie(cookieName, [options]); Chúng ta có thể lấy giá trị của cookie bằng cách sử dụng cú pháp : //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())0 Khi sử dụng middleware //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())1 bạn sẽ nhận thêm 1 object trong biến request đó là cookie, tiếp nối ví dụ bên trên mình sẽ lấy giá trị của cookie vừa set.Thêm một route vào file //Sử dụng express const express = require('express') //Sử dụng module cookie-parse const cookieParser = require('cookie-parser') //Khởi tạo app express mới const app = express() //Khai báo sử dụng middleware cookieParse() app.use(cookieParser())8 trong ví dụ trước bằng cách sử dụng : Trước tiên, chương trình sẽ kiểm tra cookie có tổn tại hay không ? Tiếp theo chương trình sẽ kiểm tra nếu cookie chưa tồn tại, nó sẽ tạo ra một cookie để chứa giá trị của sessionID đồng thời cũng lưu trữ giá trị sessionID này trong database. Trong bài này chúng ta đã cùng nhau đi tìm hiểu về cách xử lý cookie trong Express, đây là kiến thức rất cơ bản về nó nhưng cũng hết sức quan trọng trong quá trình làm việc với Express. Mong rằng bài viết sẽ giúp ích cho bạn.cách xử lý cookie trong Express, đây là kiến thức rất cơ bản về nó nhưng cũng hết sức quan trọng trong quá trình làm việc với Express. Mong rằng bài viết sẽ giúp ích cho bạn. |