CSRF (Cross-Site Request Forgery)
跨站請求偽造
01你是不是遇到這個 / THE SYMPTOM
使用者登入我的網站後,我擔心他只要在別的惡意網站點個東西,那個網站就能假冒他、用他已登入的身分對我的後端送出轉帳或改密碼的請求。我不知道這種「借用別人已登入狀態」的攻擊叫什麼。
↑ 如果你點頭了,你要的關鍵字就是 CSRF (Cross-Site Request Forgery)。
02這是什麼 / DEFINITION
攻擊者誘使已登入的使用者在不知情下,從第三方網站對你的後端送出帶有他登入憑證(cookie)的請求,藉此以他的身分執行操作(如改密碼、轉帳、刪資料)。
03什麼時候用 / WHEN TO USE
當你的網站用 cookie/session 維持登入狀態,且有「會改變資料」的操作(POST/PUT/DELETE,例如送出表單、改設定、付款)時,需要防 CSRF。
04怎麼跟 AI 說 / HOW TO ASK
直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:
幫我為這些會改資料的 POST 路由加上 CSRF 防護,使用 CSRF token,並把 session cookie 設成 SameSite=Lax 或 Strict。
05常見坑 / WATCH OUT
⚠ CSRF 與 XSS 常被搞混:XSS 是注入腳本在頁面執行,CSRF 是「偽造請求借用登入狀態」。純 token 驗證的 API(Authorization header、非 cookie)通常天生不怕 CSRF——它主要威脅 cookie-based 登入。
06相關的詞 / RELATED