指南

咩係 Cookie?網站點樣記住你

Cookie 係網站要求你嘅瀏覽器儲存嘅一小段文字,然後喺你之後每次返去該網站時,再將佢送返去。網站就係靠佢「記住」你:例如你已經登入、購物車有咩嘢、你揀咗邊種語言。Cookie 只係資料,唔係程式,但由於佢可以用嚟識別你,所以無論係安全定私隱方面都好重要。

用 AI 建置時點解要留意

Cookie 位於你向 AI 建置工具要求嘅多項功能底下,而且經常都唔會提到「cookie」呢個字:

  • 登入。 喺大部分網頁應用程式入面,「保持登入」就係指一個工作階段 Cookie。呢個 Cookie 點樣設定,就決定咗佢幾容易被盜取。
  • 購物車同偏好設定。 重新整理頁面後仍然保留嘅購物籃,通常靠 Cookie 或瀏覽器儲存。
  • 分析同廣告。 加入 Google Analytics、Meta 像素或即時聊天小工具,通常都會加入其他公司嘅 Cookie。
  • 法律通知。 喺好多地方,部分 Cookie 需要先取得訪客同意,所以先會有 Cookie 橫幅。

如果你知道你嘅應用程式設定咗邊啲 Cookie,以及原因,你就可以更妥善咁決定安全設定、同意機制同私隱政策。

一個日常比喻

諗吓寄衣帽嘅號碼牌。你交出外套,就會拿到一張有號碼嘅牌。張牌本身冇件外套,只係一個號碼。每次你返去櫃檯,出示張牌,職員就知道邊件外套係你嘅。

工作階段 Cookie 嘅運作方式都係咁。當你登入,伺服器會喺佢那邊保存你嘅資料,然後俾你嘅瀏覽器一張「號碼牌」,即係一個好長嘅隨機 ID。你嘅瀏覽器每次請求都會出示呢張牌,伺服器就查出你係邊個。如果有人抄咗張牌,佢就可以攞走件外套,所以登入 Cookie 必須受到保護。

Cookie 實際點運作

  1. 你瀏覽一個網站。伺服器嘅回應包括一個類似 Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax 嘅標頭。
  2. 你嘅瀏覽器將佢儲存下來,並與該網站嘅網域綁定。
  3. 之後每次向同一個網站發出請求,瀏覽器都會自動加入 Cookie: session_id=8f3k...。
  4. 伺服器讀取佢,就知道係你。

頁面嘅 JavaScript 亦可以建立 Cookie,但最重要嘅 Cookie,即登入工作階段,應該由伺服器設定,並對 JavaScript 隱藏。

Cookie 類型

類型意思例子
工作階段 Cookie冇到期日;瀏覽器工作階段結束時即被刪除一個短暫嘅結帳步驟
持久 Cookie有到期日(Expires 或 Max-Age),重啟後仍然保留「記住我 30 日」
第一方由你喺網址列所示嘅網站設定你喺該網站嘅登入
第三方由嵌入喺頁面入面嘅另一個網域設定廣告網絡嘅追蹤 ID
嚴格所需用戶所要求嘅服務必須用到登入工作階段、購物車
非必要對網站擁有者而言屬錦上添花分析、廣告、A/B 測試

瀏覽器一直都越來越限制第三方 Cookie,因為佢哋被用嚟跨網站追蹤人。而家幾個主要瀏覽器都預設封鎖咗其中好多,而且細節仍在不斷改變,所以唔好將任何重要嘢建基於第三方 Cookie 之上。

實例:一間小型網上店舖

假設你建置咗一間售賣手工蠟燭嘅店舖。以下係一個合理版本會設定嘅 Cookie,以及原因。

session:店主或顧客登入時設定。佢只保存一個隨機 ID;真正嘅工作階段資料由伺服器保存。設定包括:HttpOnly(頁面腳本無法讀取)、Secure(只會透過 HTTPS 傳送)、SameSite=Lax(大部分由其他網站發起嘅請求都唔會附帶)。屬嚴格所需。

cart_id:令未登入嘅訪客仍然可以保留購物籃。佢指向儲存喺 資料庫 入面嘅購物車。屬嚴格所需,因為訪客要求加入嘢到購物車。

theme:記住深色模式。呢個可以用 Cookie 實現,但佢從來唔需要傳到伺服器,所以用瀏覽器 localStorage 會更簡單。

分析 Cookie:如果你安裝咗分析工具,就會加入呢類 Cookie。呢類屬非必要。喺歐盟同英國,佢哋一般要先取得同意先可以設定,所以分析腳本應該等訪客撳咗「接受」之後先載入。

留意呢間店舖唔會用 Cookie 儲存乜嘢:顧客嘅姓名、地址或信用卡資料。Cookie 會隨每次請求傳送,並且存放喺用戶嘅裝置入面,所以應該只保存 ID,而唔係個人資料。

常見術語解釋

術語意思
Cookie瀏覽器儲存並送返去網站嘅一組名稱與值。
Set-Cookie伺服器用嚟建立或更新 Cookie 嘅回應標頭。
工作階段(Session)伺服器對已登入用戶嘅紀錄,與一個 Cookie ID 相連。
HttpOnly防止頁面 JavaScript 讀取 Cookie,從而限制注入腳本所造成嘅損害。
SecureCookie 只會經加密嘅 HTTPS 連線傳送。
SameSite控制 Cookie 會唔會喺其他網站發出嘅請求中傳送(Strict、Lax 或 None)。
Expires / Max-AgeCookie 應該喺幾時被刪除。
Domain / Path網站上邊啲地址會收到該 Cookie。
localStorage頁面程式碼可以讀取嘅瀏覽器儲存,但唔會自動傳送到伺服器。
XSS跨網站腳本攻擊:攻擊者嘅腳本喺你嘅頁面入面執行,可能會試圖盜取資料。
CSRF跨網站請求偽造:另一個網站誘使瀏覽器用你嘅 Cookie 發出請求。
Cookie 同意喺設定非必要 Cookie 之前,先徵求訪客嘅許可。

常見錯誤同誤解

  • 「Cookie 係病毒。」 佢哋只係純文字,唔可以喺你部電腦上運行程式碼。
  • 喺 Cookie 入面放敏感資料。 只需要儲存一個隨機 ID,詳細資料留喺伺服器。
  • 將登入權杖放喺 localStorage。 任何喺頁面上運行嘅腳本都可以讀取 localStorage,包括被注入嘅腳本。HttpOnly Cookie 則完全無法被頁面腳本讀取。
  • 漏咗 Secure 同 HttpOnly。 呢兩個旗標成本好低,但可以堵塞常見嘅漏洞。
  • 以為橫幅已經涵蓋一切。 如果喺有人撳「接受」之前,橫幅已經載入分析工具,咁橫幅就冇起到作用。
  • 忘記登出功能。 登出時應該刪除 Cookie 同時喺伺服器結束工作階段,咁被複製嘅 Cookie 就會失效。
  • 「如果我唔用 Cookie,私隱規則就唔適用。」 例如 GDPR 之類嘅規則,會涵蓋任何儲存位置嘅個人資料,包括本地儲存、裝置指紋同伺服器紀錄。

向你嘅 AI 建置工具要求乜嘢

  • 「列出應用程式設定嘅每一個 Cookie、用途、有效時間,以及是否屬嚴格所需。」
  • 「為登入工作階段使用 HttpOnly、Secure、SameSite=Lax 嘅 Cookie。唔好將認證權杖放喺 localStorage。」
  • 「Cookie 只保存隨機工作階段 ID;工作階段資料儲存於伺服器。」
  • 「登出時清除 Cookie,並喺伺服器使工作階段失效。」
  • 「喺訪客接受之前,唔好載入分析或行銷腳本,並記住佢哋嘅選擇。」
  • 「喺私隱政策加入一節簡單嘅 Cookie 說明,內容要與上面嘅清單相符。」

有關同意部分,請參閱 點樣加入 Cookie 同意。至於 Cookie 點樣配合登入,可以閱讀 咩係認證。

Mythex 內嘅 Cookie

Mythex 唔會為你應用程式嘅用戶提供內置登入,所以你應用程式設定嘅 Cookie,來自佢自己嘅程式碼,以及你加入嘅工具,例如你所揀認證方式所設定嘅工作階段 Cookie。你可以喺聊天入面要求 AI 代理列出呢啲 Cookie、收緊佢哋嘅設定,或者加入同意橫幅,然後喺發布之前,喺即時預覽入面核實結果。文件中嘅 為應用程式加入登入 係一個好好嘅起始提示,而 你建置嘅應用程式嘅安全性 則講解點樣令金鑰同機密資料唔會落到瀏覽器入面。

常見問題

網站上嘅 Cookie 係咩?

Cookie 係網站要求你嘅瀏覽器儲存嘅一小段文字。之後每次你向該網站發出請求,瀏覽器都會把佢送返去,令網站可以記住一啲嘢,例如你有冇登入,或者購物車入面有咩。

Cookie 有冇危險?

Cookie 只係資料,唔係程式,所以佢唔能夠運行程式碼,亦唔會感染電腦。真正要留意嘅係私隱問題(第三方 Cookie 會跨網站追蹤你),以及安全問題(登入用嘅 Cookie 被盜取後,有人可能會假冒你)。

第一方同第三方 Cookie 有咩分別?

第一方 Cookie 係由你喺網址列所示嘅網站設定,例如登入 Cookie。第三方 Cookie 則由嵌入喺頁面入面嘅另一個網域設定,例如廣告網絡,而且經常用嚟跟蹤你喺多個網站之間嘅行為。

我需要 Cookie 橫幅嗎?

視乎你嘅用戶身處邊度,以及你用緊邊啲 Cookie。喺歐盟同英國,分析或廣告等非必要 Cookie 一般需要先取得同意,而登入工作階段等服務嚴格所需嘅 Cookie 通常就唔需要。請查核適用於你嘅規定。

Cookie 同 localStorage 有咩分別?

兩者都喺瀏覽器入面儲存資料。Cookie 會隨每次請求自動送去伺服器,所以適合用於登入。localStorage 則留喺瀏覽器入面,只會被頁面自己嘅程式碼讀取,所以適合用於例如主題顏色之類嘅偏好設定。

Mythex · Pricing · 用 AI 建造任何嘢 · 網站及應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(台灣)