Postman 中設定自動處理 Laravel CSRF Token 的方法
前言
在使用 Laravel 框架進行 API 開發時,通常會遇到 CSRF 防護的需求。而透過 Postman 來測試這類 API 時,若未妥善處理 CSRF Token,可能導致請求被拒絕。接下來將介紹如何在 Postman 中設定自動處理 CSRF Token,確保測試過程順暢
什麼是 CSRF
CSRF(跨站請求偽造,Cross-Site Request Forgery)是一種攻擊手法,攻擊者誘騙已登入的使用者,在不知情的情況下,向網站發送惡意請求。Laravel 框架會透過 CSRF Token 來防止這類攻擊
Laravel 預設會產生一個名為 XSRF-TOKEN
的 Cookie,每次請求時需要帶上此 Cookie 的值作為 X-XSRF-TOKEN
Header,否則請求會被 Laravel 拒絕
設定 Postman 處理 CSRF Token 的步驟
Step 1:建立環境變數(Environment)
- 在 Postman 中點擊左上角的「Environment」按鈕,新增一個環境(例如命名為
local
)。 - 設定變數
BASE_URL
,初始值為你的 API 網址,例如:http://localhost:8000
- 選取剛建立的環境,後續所有請求都會使用此設定。
Step 2:自動取得並設定 X-XSRF-TOKEN
在 Collection 中加入 Pre-request Script(在請求前自動執行的腳本),自動取得 CSRF Token 並設定到 Header 中:
1 | pm.sendRequest({ |
備註: 以上腳本會在每個請求發送前自動執行,確保每次請求的 CSRF Token 都是最新的
Step 3:登入請求範例
- 發送一個登入請求測試,例如:
1 | POST {{BASE_URL}}/api/login |
因為已設定自動處理 X-XSRF-TOKEN,因此此請求會自動附帶最新的 CSRF Token,避免 Laravel 阻擋請求
結論
透過這樣的簡單設定方式,就能輕鬆處理 CSRF Token,讓開發及測試變得更加方便與流暢。