iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0

接續上一篇的內容

2.Cookie 是什麼?
Cookie 是瀏覽器儲存的一小段資料,主要用來協助網站維持使用者狀態。
HTTP 本身是無狀態(Stateless)的,也就是說,伺服器不會單憑 HTTP 協定自動記得上一個請求是誰。
Cookie 可以協助解決這個問題。

Cookie 登入流程
https://ithelp.ithome.com.tw/upload/images/20261012/20184323P3gEChhddy.png

用 Express 設定 Cookie
安裝 npm install cookie-parser

const express = require("express");
const cookieParser = require("cookie-parser");

const app = express();

app.use(cookieParser());

app.get("/login", (req, res) => {
  res.cookie("sessionId", "example-session-id", {
    httpOnly: true,
    secure: true,
    sameSite: "lax"
  });

  res.send("Cookie 已設定");
});

app.get("/profile", (req, res) => {
  console.log(req.cookies.sessionId);
  res.send("取得 Cookie");
});

這裡的 example-session-id 只是示範值,正式系統必須使用安全、不可預測的 Session ID,並由後端驗證
https://ithelp.ithome.com.tw/upload/images/20261012/20184323ZoDaPsb49U.png

特別注意:HttpOnly 可以降低 Cookie 被 JavaScript 竊取的風險,但不能單獨防止 CSRF 或所有 XSS 攻擊。

3.Cookie、Session、Token 有什麼不同?
這三個概念我之前非常容易混淆 XD
https://ithelp.ithome.com.tw/upload/images/20261012/201843235tz2zPwXX6.png

最重要的觀念:Cookie 是傳遞資料的機制,Session 是管理狀態的方式,Token 則是憑證。 它們不是互斥的技術。


上一篇
Day 27 - Node.js 進階操作(Cookie / Header / Axios)-1
下一篇
Day 29 - Node.js 進階操作(Cookie / Header / Axios)-3
系列文
在AI 時代的碰撞下~當前端工程師開始碰上後端又到了雲服務的旅程 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言