通過Postman進行post請求時傳遞X-XSRF-TOKEN

來源:互聯網
上載者:User
前言介紹

這段時間一個項目後端用的是laravel。在寫API介面時通過Postman6進行測試。但是在測試後形式的介面時laravel內建了CSRF驗證機制。這就很尷尬了...

所以我們的目的在使用Postman通過XSRF的驗證,以測試POST的請求。還是以laravel為例子,Laravel會返回到瀏覽器的GET請求時將XSRF-TOKEN寫在cookie中。因此我們需要從cookie中取到XSRF-TOKEN,並附在POST請求的前序中傳送出去。以達到繞過Laravel的跨站請求偽造驗證。

 

 

安裝Postman Interceptor(Chrome擴充功能)

使用Postman如果通過自己拼接url,自己造資料,是非常麻煩的。因此選擇Postman + Postman攔截器,使用Postman interceptor可以攔截到網頁請求,同時傳到postman的曆史列表中,然後我們只需要在postman中修改一下網址就可以直接發送了。

Laravel通過鍍鉻作為攔截器來記錄的cookie,因此要先安裝郵遞員在Chrome瀏覽器上的擴充程式。

:https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo

嗯......瀏覽下載安裝需要FQ...

 

 

建立環境

我們開啟郵差,點擊頁面右上方,進行設定環境。

建立evnironment

 

輸入建立的環境名稱,並按下 “添加”

選擇剛剛建立的環境

 

  

發送GET請求,以取得XSRF令牌

建立一個獲得請求,並在郵遞員的測試標籤中加入下面代碼:

pm.environment.set(    "XSRF-TOKEN", //此為環境變數名稱    decodeURIComponent(pm.cookies.get("XSRF-TOKEN")))
 加入的這個代碼會在請求伺服器成功返回時執行,因此可以取得的cookie,並存入郵遞員的環境變數,用來在後請求時使用。

訪問剛剛建立的get請求,點擊發送,檢查XSRF令牌是否在環境變數中

 

 

 

POST附帶XSRF令牌 

Laravel預設要求發布時需要HTTP標題附帶XSRF令牌

以下是我測試的代碼:

//web.phpRoute::post('posttest', 'OperateController@postTest');//OperateController.phppublic function postTest(Request $request) {    var_dump('post test');}
新增POST標籤,並在Header中增加XSRF令牌

格式是:{{ “環境變數”}}:用來取得的環境變數值。

X-XSRF-TOKEN:{{XSRF-TOKEN}}

點擊發送,成功列印

 

 

以上

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.