首頁 >web前端 >js教程 >快速餅乾管理提示

快速餅乾管理提示

Susan Sarandon
Susan Sarandon原創
2025-01-29 22:36:12893瀏覽

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處理

成功登錄(服務器發送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發送回服務器以進行用戶數據檢索。 簡單,對嗎?

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)。 nonesecure: true
  • 需要服務器端的秘密密鑰。 signed
  • 一個較新的隱私功能,而不是普遍支持。 > partitioned 就是這樣! 希望這會有所幫助。 這是我的第一篇文章,因此歡迎反饋! >

以上是快速餅乾管理提示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn