首页 > web前端 > js教程 > 快速饼干管理提示

快速饼干管理提示

Susan Sarandon
发布: 2025-01-29 22:36:12
原创
892 人浏览过

Quick Cookie Management Tips

嘿开发人员! 我最近在我的项目,电子商务 - 莫克 - 欧米加(Vercel.app)中与Cookie Management搏斗,并认为我会分享我的学习。 让cookie变得更聪明!

>

什么是cookie?

cookie是从服务器发送到用户浏览器的小型数据包。 浏览器存储,创建,修改和将其重新发送到服务器中,并随后的请求。 这对于会话管理,个性化和跟踪至关重要。

>

> cookie Essentials

>将cookie视为您的服务器在用户浏览器中留下的小注意。它们非常适合保持用户登录或记住自己的偏好。

>

>服务器端cookie设置

<code class="language-javascript">const options = {
    httpOnly: true,
    secure: true,
    sameSite: "none"
};

return res
    .status(200)
    .cookie("accessToken", accessToken, options)
    .cookie("refreshToken", refreshToken, options)
    .json(
        new Apiresponse(
            200,
            { user: loggedInUser },
            "User logged in successfully"
        )
    );</code>
登录后复制

此示例显示设置两个cookie:访问令牌(短期身份验证)和一个刷新令牌(用于获取新的访问令牌)。 options对象配置关键的安全参数:

  • httpOnly: true:防止客户端JavaScript访问,减轻XSS攻击。
  • secure: true:确保仅通过https发送cookie。
  • :允许cookie中的cookie(对于前端回复通信必不可少)。 我最初在这种设置上挣扎。sameSite: "none"
>客户端cookie处理

<code class="language-javascript">const loginResponse = await axios.post(
    `${base_URL}/api/v1/users/signin`,
    { email, password },
    { withCredentials: true }
);

if (loginResponse.data.data) {
    const userResponse = await axios.get(
        `${base_URL}/api/v1/users/getuser`,
        { withCredentials: true } // Automatically sends cookies
    );
}</code>
登录后复制
成功登录后(服务器发送cookie)后,在客户端请求中,

可确保浏览器将cookie发送回服务器以进行用户数据检索。 简单,对吗?withCredentials: true

高级cookie选项

<code class="language-javascript">const options = {
    expires: new Date(Date.now() + 24 * 60 * 60 * 1000), // Expires in 24 hours
    maxAge: 24 * 60 * 60 * 1000, // Alternative expiry (milliseconds)
    domain: '.example.com',    // All subdomains
    path: '/',                 // Entire domain

};</code>
登录后复制
  • vs expires使用一个,而不是两者。 maxAge(从现在起,毫秒)通常是首选的。> maxAge
  • 由于安全含义而谨慎使用。 仅在需要交叉辅助访问时设置。domain>
  • sameSite(最安全的,限制跨站点请求),strict(良好默认值),lax(需要none)。 secure: true
  • 需要服务器端的秘密密钥。signed
  • 一个较新的隐私功能,而不是普遍支持。partitioned> 就是这样! 希望这会有所帮助。 这是我的第一篇文章,因此欢迎反馈!
  • >

以上是快速饼干管理提示的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板