Express.js – req.signedCookies 属性
req.signedCookies 包含使用 cookie-parser 中间件时请求发送的经过签名的 Cookie(随时可用)。已签名的 Cookie 存在于不同的对象中以便表示开发人员意图,否则对相对容易欺骗的 request.cookie 值进行恶意攻击。
如果没有发送 Cookie,则属性的默认值将设置为 "{ }"。
语法
req.signedCookies
安装 cookie-parser 模块
npm install cookie-parser
示例 1
创建一个名称为 "reqSignedCookies.js" 的文件并复制以下代码段。创建文件后,使用命令 "node reqSignedCookies.js" 以运行此代码,如下所示 −
// req.signedCookies() Method Demo Example // Importing the express & cookieParser module var cookieParser = require('cookie-parser'); var express = require('express'); // Initializing the express and port number var app = express(); // Initializing the router from express var router = express.Router(); var PORT = 3000; // Defining the cookieParser to be used app.use(cookieParser()); // Defining an api endpoint app.get('/api', function (req, res) { req.signedCookies.title='TutorialsPoint'; console.log(req.signedCookies); res.send(); }); app.listen(PORT, function(err){ if (err) console.log(err); console.log("Server listening on PORT", PORT); });
输出
使用 GET 请求访问以下端点:localhost:3000/api
C:\home
ode>> node reqSignedCookies.js Server listening on PORT 3000 [Object: null prototype] { title: 'TutorialsPoint' }
示例 2
我们来看另一个示例。
// req.signedCookies() Method Demo Example // Importing the express & cookieParser module var cookieParser = require('cookie-parser'); var express = require('express'); // Initializing the express and port number var app = express(); // Initializing the router from express var router = express.Router(); var PORT = 3000; // Defining the cookieParser to be used app.use(cookieParser()); // Defining an api endpoint app.get('/api', function (req, res) { // Setting multiple cookies req.signedCookies.title='Mayank'; req.signedCookies.age=21; console.log(req.signedCookies); res.send(); }); app.listen(PORT, function(err){ if (err) console.log(err); console.log("Server listening on PORT", PORT); });
输出
使用 GET 请求访问以下端点:localhost:3000/api
C:\home
ode>> node reqSignedCookies.js Server listening on PORT 3000 [Object: null prototype] { title: 'Mayank', age: 21 }
广告