返回
Egg Cookie 操作与配置指南
前端
2023-10-05 12:29:47
Egg.js中,cookie是客户端存储的小块数据,通常用于在浏览器会话期间存储用户偏好和会话信息。
Cookie由名称、值和一些可选属性组成,如过期时间和作用域。
名称和值是字符串,但可存储任何可转换为JSON的数据。
cookie的作用
cookie的用途广泛,可以用于跟踪用户会话、记住用户首选项,比如语言、主题或布局,还可以用于个性化内容,甚至可以用于进行身份验证。
在egg.js中使用cookie非常方便,在app.js
中直接使用ctx.cookies
即可
Cookie的增删改查
设置 Cookie
const ctx = this;
// 添加 cookie
ctx.cookies.set('name', 'value');
// 设置过期时间
ctx.cookies.set('name', 'value', {
maxAge: 1000 * 60 * 60 * 24, // cookie有效期为1天
});
// 设置cookie的路径
ctx.cookies.set('name', 'value', {
path: '/', // 设置cookie作用域为根目录
});
// 设置cookie的域
ctx.cookies.set('name', 'value', {
domain: 'example.com', // 设置cookie作用域为example.com
});
<!---->
##### 获取 Cookie
>```js
const ctx = this;
// 获取cookie
const value = ctx.cookies.get('name');
// 获取所有 cookie
const values = ctx.cookies.get();
删除 Cookie
const ctx = this;
// 删除 cookie
ctx.cookies.set('name', null);
<!---->
#### Cookie的配置
#### 过期时间
cookie的过期时间可以通过maxAge属性来设置,单位是毫秒。如果未设置maxAge属性,则cookie将在浏览器关闭时过期。
<!---->
#### 服务端操作
在服务端,可以使用`ctx.service.cookies`操作cookie,比如`set`、`get`、`remove`、`getKeys`等方法。
<!---->
#### 加密
Egg.js还提供了cookie加密的功能,可以在`config/security.default.js`中配置。
<!---->
#### Cookie的安全性
为了防止XSS攻击,Egg.js默认启用了cookie的HttpOnly属性。这可以防止客户端脚本访问cookie,从而降低了XSS攻击的风险。
<!---->
#### 总结
以上就是Egg.js中cookie的使用方法,希望对大家有所帮助。
<!---->
<br>
###