日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python接口自动化之cookie,session,token鉴权解决方案

發(fā)布時(shí)間:2023/12/31 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python接口自动化之cookie,session,token鉴权解决方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http協(xié)議:簡(jiǎn)單、快捷、無(wú)連接、無(wú)狀態(tài)。多次請(qǐng)求之間是沒(méi)有關(guān)聯(lián)的,獨(dú)立的。

一、cookie鑒權(quán)

1、什么是cookie?

cookie是在服務(wù)器產(chǎn)生的存儲(chǔ)在客戶端的一小段文本信息,格式是字典,鍵值對(duì)。

2、cookie的分類

會(huì)話級(jí):保存內(nèi)容,當(dāng)瀏覽器關(guān)閉就會(huì)丟失
持久化:保存硬盤(pán),只有當(dāng)失效時(shí)間到了才會(huì)被清除

3、如何查看cookie

name,value、domain、path、express、size

4、cookie如何實(shí)現(xiàn)鑒權(quán)(原理)

當(dāng)客戶端第一次訪問(wèn)服務(wù)器時(shí),那么服務(wù)器就會(huì)產(chǎn)生cookie,然后通過(guò)相應(yīng)頭的方式在Set-Cookie傳輸?shù)娇蛻舳恕?蛻舳藦牡?-N次請(qǐng)求都會(huì)自動(dòng)的帶上這些cookie。

致命的弱點(diǎn):cookie保存在客戶端,對(duì)于一些敏感信息,用戶名,密碼,身份證。 不安全

第一個(gè)接口:

第二個(gè)接口:

二、session鑒權(quán)

當(dāng)用戶第一次訪問(wèn)服務(wù)器的時(shí)候,然后再服務(wù)器端保存一個(gè)sessionid,這個(gè)sessionid是經(jīng)過(guò)加密的,然后通過(guò)cookie吧這個(gè)sessionid保存到客戶端,然后請(qǐng)求服務(wù)器的時(shí)候只發(fā)送sessionid。
sessionid保存在服務(wù)器內(nèi)存中。

致命弱點(diǎn):解決了cookie不安全的問(wèn)題,但是隨著又出現(xiàn)了新的問(wèn)題。當(dāng)用戶量特別大的時(shí)候,會(huì)導(dǎo)致服務(wù)器崩潰。
服務(wù)器集群: 請(qǐng)求IP捆綁、session復(fù)制、單點(diǎn)登錄。

第一個(gè)接口:

第二個(gè)接口:

三、token鑒權(quán)

當(dāng)一個(gè)用戶登錄之后,就給他發(fā)送一個(gè)token令牌,下一次用戶再次請(qǐng)求的時(shí)候,只要帶上這個(gè)令牌。token可以通過(guò)抓包抓取(http)
token保存在文件中或是保存在數(shù)據(jù)庫(kù)中。
加密:
對(duì)稱加密:des aes
雙鑰加密:RSA

只加密不解密:md5 SHA
token的分類:
access_token:有時(shí)間期限,限制在15分鐘
refresh_token:一般15天

第一個(gè)接口:

第二個(gè)接口:

四、cookie、session、token的相同點(diǎn)和區(qū)別?

相同點(diǎn):都是用于做鑒權(quán)的,都是服務(wù)器產(chǎn)生的。
區(qū)別:
(1)cookie存儲(chǔ)在客戶端,session存儲(chǔ)在服務(wù)器,session的安全性比cookies高。所以一般情況下把重要的信息放在session,把不重要的放cookies。
(2)session存在服務(wù)器內(nèi)存,token存在服務(wù)器的為難或者數(shù)據(jù)庫(kù)中,token的好處是比session更省服務(wù)器資源。token只需要在服務(wù)器解密即可。

自動(dòng)化層面:
工具:postman、jmeter
代碼:借口關(guān)聯(lián),cookie鑒權(quán)、session鑒權(quán)、web自動(dòng)化用cookie跳過(guò)驗(yàn)證碼

出現(xiàn)了新的問(wèn)題:第三方支付,銀行,金融項(xiàng)目,安全的要求更高。

數(shù)字證書(shū):

五、接口簽名:sign

既可以在工具里面解決,也可以在代碼里面解決。
為什么我們有工具postman、jmeter,那么我們?yōu)槭裁醋龃a級(jí)別的接口自動(dòng)化?
(1)敏捷開(kāi)發(fā):接口巨大 不容易做版本控制和團(tuán)隊(duì)協(xié)作
(2)工具太死,我們需要自定義一些功能
(3)一個(gè)項(xiàng)目中有多種協(xié)議的接口
(4)定位問(wèn)題
(5)工具,沒(méi)有辦法生成美觀的報(bào)告。allure
(6)對(duì)于復(fù)雜的接口,多接口協(xié)議,數(shù)據(jù)庫(kù)
(7)日志監(jiān)控
(8)接口自動(dòng)化 web自動(dòng)化
深度:接口自動(dòng)化
(1)所有的請(qǐng)求都必須要統(tǒng)一管理
(2)封裝好接口自動(dòng)化測(cè)試框架之后,功能測(cè)試只需要寫(xiě)測(cè)試用例,不需要寫(xiě)代碼

1、什么是接口簽名?

使用用戶名、密碼、時(shí)間戳和所有排過(guò)序的參數(shù)組合起來(lái),再加密得到的字符串,字符串是唯一的幼犬訪問(wèn)第三方金融接口的鑒權(quán)碼。=sign接口簽名。

2、為什么需要做接口簽名?

1、防偽裝攻擊 2、防篡改攻擊 3、防重放攻擊 4、防數(shù)據(jù)泄露

3、如何做接口簽名,了解簽名規(guī)則

1、對(duì)所有請(qǐng)求的參數(shù)按key按ASCII碼做升序排列
{“c”:“3”,“b”:“2”,“a”:“1”} ?? {“a”:“1”,“b”:“2”,“c”:“3”}
2、把參數(shù)名和參數(shù)值連接成字符串
a=1&b=2&c=3
3、用申請(qǐng)到的appid和appsecret連接到字符串的頭部
appid:用戶名 appsecret:密碼
appid=admin&appsercet=123&a=1&b=2&c=3
4、用時(shí)間戳鏈接到字符串的尾部
appid=admin&appsercet=123&a=1&b=2&c=3&timestamp=786276574
5、然后把這個(gè)字符串按照32位的MD5加密,加密后再轉(zhuǎn)化成大寫(xiě)。
sign=***
10秒有效

總結(jié)

以上是生活随笔為你收集整理的python接口自动化之cookie,session,token鉴权解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。