JSONXML
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出通許免費(fèi)做網(wǎng)站回饋大家。
XML: 是一種標(biāo)記語(yǔ)言,設(shè)計(jì)的宗旨是傳輸數(shù)據(jù)
JSON: 輕量級(jí)的數(shù)據(jù)交換格式
APP接口主要是用JSON輸出格式
APP接口輸出格式三要素:
1. code::錯(cuò)誤碼
2. msg:錯(cuò)誤碼對(duì)應(yīng)的描述
3. data:接口返回的數(shù)據(jù)
誰(shuí)有權(quán)限調(diào)用APP接口,客戶端需要帶著憑證來(lái)調(diào)用APP接口
JWT的原理:
服務(wù)端認(rèn)證之后,生成一個(gè)JSON對(duì)象,返回給用戶。后續(xù)客戶端所有請(qǐng)求都會(huì)帶上這個(gè)JSON對(duì)象。服務(wù)端依靠這個(gè)JSON對(duì)象來(lái)認(rèn)定用戶身份。
組成: Header, Payload, Signature
1. Header
說一下我是什么
header通常包含了兩部分:類型和加密算法
{
"alg": "HS256",
"typ": "JWT"
}
header需要經(jīng)過Base64Url編碼后作為IWT的第一部分。
2. Payload
payload包含了claim, 三種類型reserved, public, private
reserved這些claim是JWT預(yù)先定義的,不強(qiáng)制使用,常用的有:
1). iss: 簽發(fā)者
2). exp: 過期的時(shí)間戳
3). sub: 面向的用戶
4). aud: 接收方
5). iat: 簽發(fā)時(shí)間
{
"sub":? "1234567890",
"name":? "John Doe",
"admin": true
}
payload需要經(jīng)過Base64Url編碼后作為JWT的第二部分。
3. Signature
創(chuàng)建簽名使用編碼后的header和payload以及一個(gè)密匙,使用header中指定的簽名算法進(jìn)行簽名
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
簽名是在服務(wù)端進(jìn)行的,客戶端并不知道,所以是安全的。
這個(gè)問題很深
安全,不敢當(dāng),因?yàn)閣eb安全問題很多,不僅僅是PHP編碼而已,有很多安全上的問題需要做處理,像服務(wù)器漏洞、端口開放都會(huì)導(dǎo)致被黑,這都是很正常的。
只能說 比如在我做PHP開發(fā)過程的一些安全保護(hù)和在網(wǎng)絡(luò)安全公司開發(fā)時(shí)的工作要求:
1、最基礎(chǔ)的,提供的api接口 要配置https。
2、api返回響應(yīng)的信息,要盡可能使用消息加密返回,如高位數(shù)的 rsa加密內(nèi)容。
3、接收的回調(diào)開放接口,盡可能做到使用回調(diào)黑、白名單,如加ip白名單放行,或ip黑名單禁止訪問。
4、不要相信用戶輸入、輸入信息要進(jìn)行編碼轉(zhuǎn)換、轉(zhuǎn)義、過濾、使用框架和插件進(jìn)行處理,如MySQL查詢的要進(jìn)行參數(shù)綁定、如顯示問題要避免xss攻擊會(huì)進(jìn)行過濾。
5、授權(quán)操作,錯(cuò)誤限制設(shè)置閥值、超過閥值限制訪問、如最基礎(chǔ)的登錄功能。
6、常見額弱口令問題導(dǎo)致漏銅,應(yīng)設(shè)置高強(qiáng)度口令,避免程序爆破。
7、文件上傳問題、應(yīng)嚴(yán)格校驗(yàn)文件類型、后綴、格式、及文件目錄權(quán)限設(shè)置,從而避免文件上傳漏洞導(dǎo)致惡意代碼或webshell攻擊。
8、開發(fā)環(huán)境和生產(chǎn)環(huán)境隔開,不要再生產(chǎn)上面開debug、及時(shí)更新使用框架漏洞補(bǔ)丁如PHP國(guó)內(nèi)常用 tp系列以前偶爾爆出漏洞(我用的較多就是tp5 ....),還有框架不要用最新要選擇最穩(wěn)定的。
最后注意不管是驗(yàn)證還是過濾,在客戶端執(zhí)行過一次也好,在服務(wù)端,都要再次執(zhí)行驗(yàn)證和校驗(yàn)。
和盛之文 ?我的文章保存網(wǎng)站,歡迎訪問學(xué)習(xí)或參考
客戶端
每一個(gè)請(qǐng)求的URL中加上時(shí)間的參數(shù)。對(duì)url中的參數(shù)是排序好的。
然后對(duì)這個(gè)URL進(jìn)行MD5。將這個(gè)MD5作為最后一個(gè)參數(shù)(sign)拼接到url最后。
服務(wù)端
收到請(qǐng)求后,對(duì)去掉最后一個(gè)參數(shù)的url進(jìn)行md5。得到的md5和參數(shù)中的md5進(jìn)行匹配。如果匹配成功進(jìn)行正常返回,如果不成功就500
加密
用AES的。
那就要看你想要什么樣的效果了,你可以對(duì)請(qǐng)求參數(shù)進(jìn)行加密,也可以在請(qǐng)求頭部加秘鑰等等
這不難啊, 既然你也有例子了,就再細(xì)化一下,比如在結(jié)果輸出后加個(gè)表示結(jié)束的變量, 或者加個(gè)error數(shù)量的變量,為0則是沒發(fā)生錯(cuò)誤. 你有什么不明白的?
======
以我做接口的經(jīng)驗(yàn),程序主要有幾部分:
1.接收數(shù)據(jù),驗(yàn)證數(shù)據(jù)合法性
這你已經(jīng)有例子了, 就是用get方法,程序直接接收get的query,而支付寶,銀行那些網(wǎng)關(guān)除了接收這些必要數(shù)據(jù)外,還會(huì)和商戶約定一個(gè)key,是這字符串, 約定好每次發(fā)送的數(shù)據(jù)通過某種方式,比如連接的方式和這個(gè)key組成一個(gè)大的字串,再以MD5加密,附上這個(gè)hash給接口,用來(lái)判斷這個(gè)請(qǐng)求的合法性,key是事先約定的,商戶和接口都知道
2.處理數(shù)據(jù)
這個(gè)沒什么好說的,數(shù)據(jù)入庫(kù),計(jì)算等等
3.返回?cái)?shù)據(jù)
如果是以http協(xié)議的話,就直接輸出header,然后輸出
值名=值+換行符
這樣的數(shù)據(jù)就可以了
銀行接口網(wǎng)關(guān),財(cái)付通,支付寶,域名注冊(cè)接口我都做過,我只能提示到這里,具體要我做就不是200分的問題了,這需要時(shí)間調(diào)試
本文標(biāo)題:對(duì)接口返回?cái)?shù)據(jù)加密php 接口加密的接口怎么測(cè)
文章URL:http://jinyejixie.com/article14/dosdjde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站改版、微信小程序、品牌網(wǎng)站制作、搜索引擎優(yōu)化、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)