本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種調(diào)用API的控制裝置及方法。
背景技術(shù):
隨著通信技術(shù)和移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,移動(dòng)智能終端成為了訪問(wèn)互聯(lián)網(wǎng)的主要方式之一。由于移動(dòng)智能終端的功能不斷強(qiáng)大和大面積普及,移動(dòng)智能終端已成為人們?nèi)粘I畈豢苫蛉钡挠闷贰?/p>
由于移動(dòng)智能終端操作系統(tǒng)的開(kāi)放性,操作系統(tǒng)中間層有很多API(Application Programming Interface,應(yīng)用程序編程接口)開(kāi)放給用戶進(jìn)行二次開(kāi)發(fā),非法用戶很容易通過(guò)直接調(diào)用API實(shí)現(xiàn)惡意行為,比如通信類(lèi)API可能會(huì)造成用戶的資費(fèi)損失,本地敏感API可能會(huì)造成用戶私密信息的泄露?,F(xiàn)有技術(shù)中,對(duì)API的調(diào)用安全性較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種調(diào)用API的控制裝置及方法,旨在提高調(diào)用API的安全性。
本發(fā)明提供的調(diào)用API的控制裝置包括:
確定模塊,用于在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API;
所述確定模塊還用于在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法;
控制模塊,用于在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
可選的,所述確定模塊包括:
獲取單元,用于在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息;
驗(yàn)證單元,用于對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證;
確定單元,用于在驗(yàn)證通過(guò)時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API。
可選的,所述獲取單元還用于在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息和所述應(yīng)用的標(biāo)識(shí)信息;
所述驗(yàn)證單元還用于將獲取的授權(quán)信息與標(biāo)識(shí)信息,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較,在匹配時(shí),判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
可選的,所述調(diào)用API的控制裝置還包括生成模塊,所述生成模塊用于在接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),獲取所述應(yīng)用的標(biāo)識(shí)信息,并為所述應(yīng)用分配與其標(biāo)識(shí)信息對(duì)應(yīng)的授權(quán)信息,以生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。
可選的,所述調(diào)用API的控制裝置還包括查找模塊,所述查找模塊用于在預(yù)設(shè)的黑名單信息中查找是否存在獲取的所述標(biāo)識(shí)信息;
所述控制模塊還用于在預(yù)設(shè)的黑名單信息中存在獲取的所述標(biāo)識(shí)信息時(shí),拒絕所述應(yīng)用調(diào)用所述API;
所述控制模塊還用于在預(yù)設(shè)的黑名單信息中不存在獲取的所述標(biāo)識(shí)信息時(shí),返回調(diào)用所述驗(yàn)證單元。
此外,本發(fā)明進(jìn)一步提供的調(diào)用API的控制方法包括:
在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API;
在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法;
在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
可選的,所述在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API的步驟替換為:
在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息;
對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證;
在驗(yàn)證通過(guò)時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API。
可選的,所述在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息的步驟替換為:
在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息和所述應(yīng)用的標(biāo)識(shí)信息;
所述對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證的步驟包括:將獲取的授權(quán)信息與標(biāo)識(shí)信息,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較,在匹配時(shí),判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
可選的,所述在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息和所述應(yīng)用的標(biāo)識(shí)信息的步驟之前,還包括:
在接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),獲取所述應(yīng)用的標(biāo)識(shí)信息,并為所述應(yīng)用分配與其標(biāo)識(shí)信息對(duì)應(yīng)的授權(quán)信息,以生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。
可選的,所述對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證的步驟之前,還包括:
在預(yù)設(shè)的黑名單信息中查找是否存在獲取的所述標(biāo)識(shí)信息;
在預(yù)設(shè)的黑名單信息中存在獲取的所述標(biāo)識(shí)信息時(shí),拒絕所述應(yīng)用調(diào)用所述API;
在預(yù)設(shè)的黑名單信息中不存在獲取的所述標(biāo)識(shí)信息時(shí),執(zhí)行所述對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證的步驟。
本發(fā)明提出的調(diào)用API的控制裝置及方法,通過(guò)在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API,并在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法,并在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API,從而可以使得對(duì)API的調(diào)用變得可控,有效地防止非法用戶惡意調(diào)用API,極大的提高了對(duì)API調(diào)用的安全性,例如,避免了由于非法用戶惡意調(diào)用API而造成用戶的資費(fèi)損失以及用戶私密信息的泄露。
附圖說(shuō)明
圖1為本發(fā)明各個(gè)實(shí)施例涉及的一個(gè)可選的終端的硬件結(jié)構(gòu)示意圖;
圖2為本發(fā)明調(diào)用API的控制裝置第一實(shí)施例的功能模塊示意圖;
圖3為本發(fā)明調(diào)用API的控制裝置第二實(shí)施例中確定模塊的細(xì)化功能模塊示意圖;
圖4為本發(fā)明調(diào)用API的控制裝置第四實(shí)施例的功能模塊示意圖;
圖5為本發(fā)明調(diào)用API的控制裝置的一具體實(shí)施方式的架構(gòu)圖;
圖6為本發(fā)明調(diào)用API的控制方法第一實(shí)施例的流程示意圖;
圖7為本發(fā)明調(diào)用API的控制方法第二實(shí)施例的流程示意圖;
圖8為本發(fā)明調(diào)用API的控制方法第三實(shí)施例的流程示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的系統(tǒng)架構(gòu)。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說(shuō)明,其本身并沒(méi)有特定的意義。因此,“模塊”與“部件”可以混合地使用。
本發(fā)明提供的調(diào)用API的控制裝置及方法可以基于終端實(shí)現(xiàn)。具體地,終端可以以各種形式來(lái)實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如移動(dòng)電話、智能電話、筆記本電腦、PAD(平板電腦)等等的移動(dòng)終端以及諸如數(shù)字TV、臺(tái)式計(jì)算機(jī)等等的固定終端。以下各個(gè)實(shí)施例以終端為手機(jī)為例進(jìn)行說(shuō)明。本發(fā)明各個(gè)實(shí)施例中的調(diào)用API的控制裝置均基于上述終端實(shí)現(xiàn)。
作為一種實(shí)現(xiàn)方案,上述終端的硬件結(jié)構(gòu)可以如圖1所示。
參照?qǐng)D1,該終端可以包括應(yīng)用程序編程接口單元110、用戶輸入單元120、存儲(chǔ)器130、處理器140和通信總線150等等。圖1示出了具有各種組件的終端,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件??梢蕴娲貙?shí)施更多或更少的組件。以下將詳細(xì)描述終端的各個(gè)組件。
應(yīng)用程序編程接口單元110可以為該終端的操作系統(tǒng)中間層設(shè)置的API接口。
用戶輸入單元120可以接收用戶輸入的API調(diào)用請(qǐng)求以及授權(quán)信息請(qǐng)求等。
存儲(chǔ)器130可以是高速RAM存儲(chǔ)器,也可以是穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如磁盤(pán)存儲(chǔ)器。存儲(chǔ)器130可選的還可以是獨(dú)立于前述處理器140的存儲(chǔ)裝置。作為一種計(jì)算機(jī)存儲(chǔ)介質(zhì)的存儲(chǔ)器130中可以存儲(chǔ)調(diào)用API的控制程序等。
處理器140可以調(diào)用存儲(chǔ)器130中存儲(chǔ)的調(diào)用API的控制程序,并執(zhí)行以下操作:
在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API;
在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法;
在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
處理器140還可以調(diào)用存儲(chǔ)器130中存儲(chǔ)的調(diào)用API的控制程序,并執(zhí)行以下操作:
在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息;
對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證;
在驗(yàn)證通過(guò)時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API。
處理器140還可以調(diào)用存儲(chǔ)器130中存儲(chǔ)的調(diào)用API的控制程序,并執(zhí)行以下操作:
在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息和所述應(yīng)用的標(biāo)識(shí)信息;
將獲取的授權(quán)信息與標(biāo)識(shí)信息,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較,在匹配時(shí),判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
處理器140還可以調(diào)用存儲(chǔ)器130中存儲(chǔ)的調(diào)用API的控制程序,并執(zhí)行以下操作:
在接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),獲取所述應(yīng)用的標(biāo)識(shí)信息,并為所述應(yīng)用分配與其標(biāo)識(shí)信息對(duì)應(yīng)的授權(quán)信息,以生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。
處理器140還可以調(diào)用存儲(chǔ)器130中存儲(chǔ)的調(diào)用API的控制程序,并執(zhí)行以下操作:
在預(yù)設(shè)的黑名單信息中查找是否存在獲取的所述標(biāo)識(shí)信息;
在預(yù)設(shè)的黑名單信息中存在獲取的所述標(biāo)識(shí)信息時(shí),拒絕所述應(yīng)用調(diào)用所述API;
在預(yù)設(shè)的黑名單信息中不存在獲取的所述標(biāo)識(shí)信息時(shí),對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證的步驟。
基于上述硬件架構(gòu)提出本發(fā)明調(diào)用API的控制裝置的各個(gè)實(shí)施例。
參照?qǐng)D2,圖2為本發(fā)明調(diào)用API的控制裝置第一實(shí)施例的功能模塊示意圖。需要強(qiáng)調(diào)的是,對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),圖2所示功能模塊圖僅僅是一個(gè)較佳實(shí)施例的示例圖,本領(lǐng)域的技術(shù)人員圍繞圖2所示的調(diào)用API的控制裝置的功能模塊,可輕易進(jìn)行新的功能模塊的補(bǔ)充;各功能模塊的名稱(chēng)是自定義名稱(chēng),僅用于輔助理解該調(diào)用API的控制裝置的各個(gè)程序功能塊,不用于限定本發(fā)明的技術(shù)方案,本發(fā)明技術(shù)方案的核心是,各自定義名稱(chēng)的功能模塊所要達(dá)成的功能。
本實(shí)施例提出一種調(diào)用API的控制裝置,該調(diào)用API的控制裝置可以設(shè)置于上述終端上,本實(shí)施例及以下實(shí)施例以終端為手機(jī)為例進(jìn)行說(shuō)明。所述調(diào)用API的控制裝置包括:
確定模塊210,用于在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API;
在本實(shí)施例中,所述應(yīng)用可以為終端上已安裝的應(yīng)用。預(yù)設(shè)的受限API可以由用戶設(shè)置,也可以為系統(tǒng)的默認(rèn)設(shè)置??蛇x的,預(yù)設(shè)的受限API包括通信類(lèi)API和/或本地敏感API。通信類(lèi)API可能會(huì)造成用戶的資費(fèi)損失,如:撥打電話、三方通話、發(fā)送短信、發(fā)送彩信、發(fā)送郵件、移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)連接、WLAN網(wǎng)絡(luò)連接等。本地敏感API可能會(huì)造成用戶私密信息的泄露,如:定位、通話錄音、本地錄音、拍照/攝像、對(duì)用戶數(shù)據(jù)的操作等??梢詫⑦@些API設(shè)置為所述預(yù)設(shè)的受限API。
所述確定模塊210還用于在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法;
在本實(shí)施例中,預(yù)設(shè)的API調(diào)用規(guī)則可以由用戶設(shè)置,也可以為系統(tǒng)的默認(rèn)設(shè)置。預(yù)設(shè)的API調(diào)用規(guī)則可以對(duì)各個(gè)預(yù)設(shè)的受限API分組制定,也可分別針對(duì)單個(gè)預(yù)設(shè)的受限API制定。例如,撥打電話的API必須由用戶手動(dòng)發(fā)起,不能由后臺(tái)程序自動(dòng)啟動(dòng)等等。
可選的,在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API不為預(yù)設(shè)的受限API時(shí),則允許所述應(yīng)用調(diào)用所述API。
控制模塊220,用于在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
在調(diào)用請(qǐng)求符合預(yù)設(shè)的API調(diào)用規(guī)則時(shí),則認(rèn)為調(diào)用請(qǐng)求合法,則運(yùn)行所述應(yīng)用調(diào)用所述API。
本實(shí)施例中,以手機(jī)上的應(yīng)用調(diào)用撥打電話的API為例。假設(shè)預(yù)設(shè)的受限API包括撥打電話的API,且撥打電話的API對(duì)應(yīng)的調(diào)用規(guī)則為必須由用戶手動(dòng)發(fā)起,不能由后臺(tái)程序自動(dòng)啟動(dòng)。
因此,在用戶通過(guò)手機(jī)上的通話應(yīng)用撥打電話時(shí),即可視為接收到了通話應(yīng)用對(duì)撥打電話的API的調(diào)用請(qǐng)求,并可以確定通話應(yīng)用為預(yù)設(shè)的受限API。因此,進(jìn)一步可以確定該通話應(yīng)用由用戶手動(dòng)發(fā)起,符合API調(diào)用規(guī)則,因此,允許通話應(yīng)用調(diào)用撥打電話的API。
同樣,在后臺(tái)程序或者非法應(yīng)用自動(dòng)的通過(guò)手機(jī)上的通話應(yīng)用撥打電話時(shí),即可視為接收到了通話應(yīng)用對(duì)撥打電話的API的調(diào)用請(qǐng)求,并可以確定通話應(yīng)用為預(yù)設(shè)的受限API。因此,進(jìn)一步可以確定該通話應(yīng)用由后臺(tái)程序或者非法應(yīng)用自動(dòng)的發(fā)起,不符合API調(diào)用規(guī)則,因此,拒絕后臺(tái)程序或者非法應(yīng)用調(diào)用撥打電話的API。
可選的,在所述調(diào)用請(qǐng)求不合法時(shí),則拒絕所述應(yīng)用調(diào)用所述API。
本發(fā)明提供的調(diào)用API的控制裝置,通過(guò)在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API,并在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法,并在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API,從而可以使得對(duì)API的調(diào)用變得可控,有效地防止非法用戶惡意調(diào)用API,極大的提高了對(duì)API調(diào)用的安全性,例如,避免了由于非法用戶惡意調(diào)用API而造成用戶的資費(fèi)損失以及用戶私密信息的泄露。
進(jìn)一步地,基于本發(fā)明調(diào)用API的控制裝置的第一實(shí)施例,本發(fā)明還提出了調(diào)用API的控制裝置的第二實(shí)施例,參照?qǐng)D3,圖3為本發(fā)明調(diào)用API的控制裝置第二實(shí)施例中確定模塊的細(xì)化功能模塊示意圖,與第一實(shí)施例不同的是,在第二實(shí)施例中,所述確定模塊210包括:
獲取單元211,用于在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息;
在本實(shí)施例中,授權(quán)信息可以為驗(yàn)證碼,該驗(yàn)證碼可以由系統(tǒng)預(yù)先分配?;蛘?,授權(quán)信息還可以為賬戶信息等。
應(yīng)用在向系統(tǒng)發(fā)生API的調(diào)用請(qǐng)求時(shí),將其預(yù)先獲得的授權(quán)信息封裝至調(diào)用請(qǐng)求中。
驗(yàn)證單元212,用于對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證;
在對(duì)授權(quán)信息驗(yàn)證時(shí),例如,可以將獲取的授權(quán)信息與預(yù)設(shè)的授權(quán)信息列表進(jìn)行比對(duì),在獲取的授權(quán)信息與預(yù)設(shè)的授權(quán)信息列表中的任一授權(quán)信息匹配時(shí),即可認(rèn)為對(duì)所述授權(quán)信息驗(yàn)證成功。
確定單元213,用于在驗(yàn)證通過(guò)時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API。
在驗(yàn)證通過(guò)時(shí),再確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API,以及在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法,并在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
可選的,在驗(yàn)證不通過(guò)時(shí),則拒絕所述應(yīng)用調(diào)用所述API。
本實(shí)施例在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),先對(duì)調(diào)用請(qǐng)求對(duì)應(yīng)的授權(quán)信息進(jìn)行驗(yàn)證,并在驗(yàn)證通過(guò)時(shí),再對(duì)API本身的權(quán)限進(jìn)行驗(yàn)證,從而在調(diào)用API之前實(shí)現(xiàn)了雙重驗(yàn)證,進(jìn)一步提高了對(duì)API調(diào)用的安全性。
進(jìn)一步地,基于本發(fā)明調(diào)用API的控制裝置的第二實(shí)施例,本發(fā)明還提出了調(diào)用API的控制裝置的第三實(shí)施例,與第二實(shí)施例不同的是,在第三實(shí)施例中,所述獲取單元211還用于在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息和所述應(yīng)用的標(biāo)識(shí)信息;
在本實(shí)施例中,在應(yīng)用發(fā)送對(duì)API的調(diào)用請(qǐng)求時(shí),不僅將預(yù)先獲取的授權(quán)信息封裝至調(diào)用請(qǐng)求中,還同時(shí)將該應(yīng)用的標(biāo)識(shí)信息封裝至調(diào)用請(qǐng)求中。
所述驗(yàn)證單元212還用于將獲取的授權(quán)信息與標(biāo)識(shí)信息,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較,在匹配時(shí),判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
在本實(shí)施例中,預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系可以由用戶設(shè)置,也可以為系統(tǒng)默認(rèn)設(shè)置,或者由系統(tǒng)自動(dòng)生成。
可選的,可以采用以下方式自動(dòng)生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。所述調(diào)用API的控制裝置還包括生成模塊,所述生成模塊用于在接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),獲取所述應(yīng)用的標(biāo)識(shí)信息,并為所述應(yīng)用分配與其標(biāo)識(shí)信息對(duì)應(yīng)的授權(quán)信息,以生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。在本實(shí)施例中,應(yīng)用在發(fā)送API的調(diào)用請(qǐng)求之前,先向系統(tǒng)發(fā)授權(quán)信息請(qǐng)求,且該授權(quán)信息請(qǐng)求中攜帶有該應(yīng)用的標(biāo)識(shí)信息。在系統(tǒng)接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),可以隨機(jī)為該應(yīng)用分配一個(gè)授權(quán)信息,并建立該應(yīng)用的授權(quán)信息與標(biāo)識(shí)信息之間的關(guān)聯(lián)關(guān)系,即生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。還可以將為該應(yīng)用分配的授權(quán)信息發(fā)送至應(yīng)用,以供應(yīng)用保存所述授權(quán)信息。從而在該應(yīng)用發(fā)送API的調(diào)用請(qǐng)求時(shí),可以將其標(biāo)識(shí)信息以及授權(quán)信息一并封裝至調(diào)用請(qǐng)求中。
在系統(tǒng)獲取到授權(quán)信息和標(biāo)識(shí)信息后,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較。在預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系中查找到獲取到的說(shuō)起信息與標(biāo)識(shí)信息并且其關(guān)聯(lián)關(guān)系也一致時(shí),則認(rèn)為匹配,并判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
例如,預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系例如包括:“123,應(yīng)用1”和“456,應(yīng)用2”。在接收到應(yīng)用1的調(diào)用請(qǐng)求時(shí),可以獲得其授權(quán)信息為“123”,其標(biāo)識(shí)信息為“應(yīng)用1”,可以在預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系中查找到“應(yīng)用1”與“123”的對(duì)應(yīng)關(guān)系,因此則認(rèn)為匹配,判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。在非法應(yīng)用獲取到應(yīng)用1的授權(quán)信息“123”時(shí),若其想盜用該授權(quán)信息“123”,則發(fā)送調(diào)用請(qǐng)求,并在該調(diào)用請(qǐng)求中攜帶非法盜用的授權(quán)信息“123”以及該非法應(yīng)用的標(biāo)識(shí)信息“應(yīng)用3”。在系統(tǒng)接收到來(lái)自非法應(yīng)用的調(diào)用請(qǐng)求時(shí),獲取到授權(quán)信息“123”和標(biāo)識(shí)信息“應(yīng)用3”,雖然可以在預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息中查找到授權(quán)信息“123”,但是預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系中,授權(quán)信息“123”對(duì)應(yīng)的標(biāo)識(shí)信息為“應(yīng)用1”,與調(diào)用請(qǐng)求中攜帶的標(biāo)識(shí)信息“應(yīng)用3”不一致,則認(rèn)為不匹配,因此,判定對(duì)所述授權(quán)信息驗(yàn)證不通過(guò)。
本實(shí)施例通過(guò)對(duì)標(biāo)識(shí)信息和授權(quán)信息同時(shí)驗(yàn)證,有效地防止了非法應(yīng)用或非法用戶盜用有效地授權(quán)信息,進(jìn)一步提高了調(diào)用API的安全性。
進(jìn)一步地,基于本發(fā)明調(diào)用API的控制裝置的第二或第三實(shí)施例,本發(fā)明還提出了調(diào)用API的控制裝置的第四實(shí)施例,參照?qǐng)D4,圖4為本發(fā)明調(diào)用API的控制裝置第四實(shí)施例的功能模塊示意圖,與第二和第三實(shí)施例不同的是,在第四實(shí)施例中,所述調(diào)用API的控制裝置還包括查找模塊230,所述查找模塊230用于在預(yù)設(shè)的黑名單信息中查找是否存在獲取的所述標(biāo)識(shí)信息;
在本實(shí)施例中,黑名單信息可以為用戶手動(dòng)設(shè)置的,或者為系統(tǒng)默認(rèn)設(shè)置的,或者系統(tǒng)從互聯(lián)網(wǎng)上獲取的。黑名單信息中可以包括黑名單應(yīng)用對(duì)應(yīng)的標(biāo)識(shí)信息。
所述控制模塊220還用于在預(yù)設(shè)的黑名單信息中存在獲取的所述標(biāo)識(shí)信息時(shí),拒絕所述應(yīng)用調(diào)用所述API;
所述控制模塊220還用于在預(yù)設(shè)的黑名單信息中不存在獲取的所述標(biāo)識(shí)信息時(shí),返回調(diào)用所述驗(yàn)證單元212。
本實(shí)施例中通過(guò)在對(duì)授權(quán)信息進(jìn)行驗(yàn)證之前,先判斷當(dāng)前進(jìn)行調(diào)用操作的應(yīng)用是否為黑名單應(yīng)用,在為黑名單應(yīng)用時(shí)則直接拒絕調(diào)用,從而進(jìn)一步提高了調(diào)用API的安全性,并提高了驗(yàn)證的效率。
以下提出本發(fā)明調(diào)用API的控制裝置的一具體實(shí)施方式:
參照?qǐng)D5,圖5為本發(fā)明調(diào)用API的控制裝置的一具體實(shí)施方式的架構(gòu)圖,該調(diào)用API的控制裝置可以包括API管控模塊、API注冊(cè)中心模塊、API防火墻模塊、用戶請(qǐng)求模塊、API網(wǎng)關(guān)模塊、API授權(quán)中心模塊和黑名單管理中心。
1.API管控模塊。其主要功能是注冊(cè)API和制定相應(yīng)API的安全規(guī)則。
(1)注冊(cè)API功能。需要進(jìn)行安全控制的API包括通信類(lèi)API和本地敏感API。通信類(lèi)API可能會(huì)造成用戶的資費(fèi)損失,如:撥打電話、三方通話、發(fā)送短信、發(fā)送彩信、發(fā)送郵件、移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)連接、WLAN網(wǎng)絡(luò)連接等。本地敏感API可能會(huì)造成用戶私密信息的泄露,如:定位、通話錄音、本地錄音、拍照/攝像、對(duì)用戶數(shù)據(jù)的操作等。將這些API注冊(cè)至API注冊(cè)中心模塊。
(2)制定相應(yīng)API規(guī)則??梢苑纸M制定,也可針對(duì)單個(gè)API制定規(guī)則,比如撥打電話的API必須由用戶手動(dòng)發(fā)起,不能由后臺(tái)程序自動(dòng)啟動(dòng)等等。將規(guī)則發(fā)送至API防火墻模塊。
2.API注冊(cè)中心模塊。本模塊中接受來(lái)自API管控模塊注冊(cè)的敏感API,并加以管理。同時(shí),接受來(lái)自API網(wǎng)關(guān)發(fā)起的API受限查詢。凡是由API管控模塊注冊(cè)的API一律視為受限API;如果API網(wǎng)關(guān)請(qǐng)求查詢的API在注冊(cè)中心有管理,則向API網(wǎng)關(guān)返回受限訪問(wèn)。
3.API防火墻模塊。本模塊接收API管控模塊制定的敏感API調(diào)用的規(guī)則。當(dāng)API網(wǎng)關(guān)向API防火墻發(fā)送調(diào)用請(qǐng)求時(shí),對(duì)API進(jìn)行規(guī)則校驗(yàn);如果校驗(yàn)合法,則允許調(diào)用系統(tǒng)API,否則拒絕調(diào)用。
4.用戶請(qǐng)求模塊。當(dāng)開(kāi)發(fā)人員調(diào)用API時(shí),需要首先向API授權(quán)中心申請(qǐng)授權(quán);然后攜帶授權(quán)信息向API網(wǎng)關(guān)模塊發(fā)起調(diào)用請(qǐng)求。
5.API網(wǎng)關(guān)模塊。接收到用戶請(qǐng)求模塊后,首先向API授權(quán)中心驗(yàn)證請(qǐng)求授權(quán)是否真實(shí)有效。如果有效,則向API注冊(cè)中心查詢API是否受限訪問(wèn);否則,判定為非法請(qǐng)求,拒絕調(diào)用。如果API為受限API,則向API防火墻發(fā)送調(diào)用請(qǐng)求;否則直接調(diào)用系統(tǒng)API。
6.API授權(quán)中心。接收用戶請(qǐng)求模塊的API請(qǐng)求授權(quán),并返回授權(quán)信息;同時(shí),接收API網(wǎng)關(guān)的授權(quán)驗(yàn)證請(qǐng)求是否真實(shí)有效。
本發(fā)明進(jìn)一步提供一種調(diào)用API的控制方法,該調(diào)用API的控制方法可以基于上述終端實(shí)現(xiàn),本實(shí)施例及以下實(shí)施例以終端為手機(jī)為例進(jìn)行說(shuō)明。參照?qǐng)D6,圖6為本發(fā)明調(diào)用API的控制方法第一實(shí)施例的流程示意圖,所述調(diào)用API的控制方法包括:
步驟S10,在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API;
在本實(shí)施例中,所述應(yīng)用可以為終端上已安裝的應(yīng)用。預(yù)設(shè)的受限API可以由用戶設(shè)置,也可以為系統(tǒng)的默認(rèn)設(shè)置??蛇x的,預(yù)設(shè)的受限API包括通信類(lèi)API和/或本地敏感API。通信類(lèi)API可能會(huì)造成用戶的資費(fèi)損失,如:撥打電話、三方通話、發(fā)送短信、發(fā)送彩信、發(fā)送郵件、移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)連接、WLAN網(wǎng)絡(luò)連接等。本地敏感API可能會(huì)造成用戶私密信息的泄露,如:定位、通話錄音、本地錄音、拍照/攝像、對(duì)用戶數(shù)據(jù)的操作等??梢詫⑦@些API設(shè)置為所述預(yù)設(shè)的受限API。
步驟S20,在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法;
在本實(shí)施例中,預(yù)設(shè)的API調(diào)用規(guī)則可以由用戶設(shè)置,也可以為系統(tǒng)的默認(rèn)設(shè)置。預(yù)設(shè)的API調(diào)用規(guī)則可以對(duì)各個(gè)預(yù)設(shè)的受限API分組制定,也可分別針對(duì)單個(gè)預(yù)設(shè)的受限API制定。例如,撥打電話的API必須由用戶手動(dòng)發(fā)起,不能由后臺(tái)程序自動(dòng)啟動(dòng)等等。
可選的,在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API不為預(yù)設(shè)的受限API時(shí),則允許所述應(yīng)用調(diào)用所述API。
步驟S30,在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
在調(diào)用請(qǐng)求符合預(yù)設(shè)的API調(diào)用規(guī)則時(shí),則認(rèn)為調(diào)用請(qǐng)求合法,則運(yùn)行所述應(yīng)用調(diào)用所述API。
本實(shí)施例中,以手機(jī)上的應(yīng)用調(diào)用撥打電話的API為例。假設(shè)預(yù)設(shè)的受限API包括撥打電話的API,且撥打電話的API對(duì)應(yīng)的調(diào)用規(guī)則為必須由用戶手動(dòng)發(fā)起,不能由后臺(tái)程序自動(dòng)啟動(dòng)。
因此,在用戶通過(guò)手機(jī)上的通話應(yīng)用撥打電話時(shí),即可視為接收到了通話應(yīng)用對(duì)撥打電話的API的調(diào)用請(qǐng)求,并可以確定通話應(yīng)用為預(yù)設(shè)的受限API。因此,進(jìn)一步可以確定該通話應(yīng)用由用戶手動(dòng)發(fā)起,符合API調(diào)用規(guī)則,因此,允許通話應(yīng)用調(diào)用撥打電話的API。
同樣,在后臺(tái)程序或者非法應(yīng)用自動(dòng)的通過(guò)手機(jī)上的通話應(yīng)用撥打電話時(shí),即可視為接收到了通話應(yīng)用對(duì)撥打電話的API的調(diào)用請(qǐng)求,并可以確定通話應(yīng)用為預(yù)設(shè)的受限API。因此,進(jìn)一步可以確定該通話應(yīng)用由后臺(tái)程序或者非法應(yīng)用自動(dòng)的發(fā)起,不符合API調(diào)用規(guī)則,因此,拒絕后臺(tái)程序或者非法應(yīng)用調(diào)用撥打電話的API。
可選的,在所述調(diào)用請(qǐng)求不合法時(shí),則拒絕所述應(yīng)用調(diào)用所述API。
本發(fā)明提供的調(diào)用API的控制方法,通過(guò)在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API,并在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法,并在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API,從而可以使得對(duì)API的調(diào)用變得可控,有效地防止非法用戶惡意調(diào)用API,極大的提高了對(duì)API調(diào)用的安全性,例如,避免了由于非法用戶惡意調(diào)用API而造成用戶的資費(fèi)損失以及用戶私密信息的泄露。
進(jìn)一步地,基于本發(fā)明調(diào)用API的控制方法的第一實(shí)施例,本發(fā)明還提出了與上述調(diào)用API的控制裝置第二實(shí)施例對(duì)應(yīng)的調(diào)用API的控制方法的第二實(shí)施例,參照?qǐng)D7,圖7為本發(fā)明調(diào)用API的控制方法第二實(shí)施例的流程示意圖,與第一實(shí)施例不同的是,在第二實(shí)施例中,所述步驟S10替換為:
步驟S11,在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息;
在本實(shí)施例中,授權(quán)信息可以為驗(yàn)證碼,該驗(yàn)證碼可以由系統(tǒng)預(yù)先分配?;蛘?,授權(quán)信息還可以為賬戶信息等。
應(yīng)用在向系統(tǒng)發(fā)生API的調(diào)用請(qǐng)求時(shí),將其預(yù)先獲得的授權(quán)信息封裝至調(diào)用請(qǐng)求中。
步驟S12,對(duì)所述授權(quán)信息進(jìn)行驗(yàn)證;
在對(duì)授權(quán)信息驗(yàn)證時(shí),例如,可以將獲取的授權(quán)信息與預(yù)設(shè)的授權(quán)信息列表進(jìn)行比對(duì),在獲取的授權(quán)信息與預(yù)設(shè)的授權(quán)信息列表中的任一授權(quán)信息匹配時(shí),即可認(rèn)為對(duì)所述授權(quán)信息驗(yàn)證成功。
步驟S13,在驗(yàn)證通過(guò)時(shí),確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API。
在驗(yàn)證通過(guò)時(shí),再確定所述調(diào)用請(qǐng)求對(duì)應(yīng)的API是否為預(yù)設(shè)的受限API,以及在所述調(diào)用請(qǐng)求對(duì)應(yīng)的API為預(yù)設(shè)的受限API時(shí),根據(jù)預(yù)設(shè)的API調(diào)用規(guī)則確定所述調(diào)用請(qǐng)求是否合法,并在所述調(diào)用請(qǐng)求合法時(shí),允許所述應(yīng)用調(diào)用所述API。
可選的,在驗(yàn)證不通過(guò)時(shí),則拒絕所述應(yīng)用調(diào)用所述API。
本實(shí)施例在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),先對(duì)調(diào)用請(qǐng)求對(duì)應(yīng)的授權(quán)信息進(jìn)行驗(yàn)證,并在驗(yàn)證通過(guò)時(shí),再對(duì)API本身的權(quán)限進(jìn)行驗(yàn)證,從而在調(diào)用API之前實(shí)現(xiàn)了雙重驗(yàn)證,進(jìn)一步提高了對(duì)API調(diào)用的安全性。
進(jìn)一步地,基于本發(fā)明調(diào)用API的控制方法的第二實(shí)施例,本發(fā)明還提出了與上述調(diào)用API的控制裝置第三實(shí)施例對(duì)應(yīng)的調(diào)用API的控制方法的第三實(shí)施例,參照?qǐng)D8,圖8為本發(fā)明調(diào)用API的控制方法第三實(shí)施例的流程示意圖,與第二實(shí)施例不同的是,在第三實(shí)施例中,所述步驟S11替換為:
步驟S111,在接收到應(yīng)用對(duì)API的調(diào)用請(qǐng)求時(shí),獲取所述調(diào)用請(qǐng)求攜帶的授權(quán)信息和所述應(yīng)用的標(biāo)識(shí)信息;
在本實(shí)施例中,在應(yīng)用發(fā)送對(duì)API的調(diào)用請(qǐng)求時(shí),不僅將預(yù)先獲取的授權(quán)信息封裝至調(diào)用請(qǐng)求中,還同時(shí)將該應(yīng)用的標(biāo)識(shí)信息封裝至調(diào)用請(qǐng)求中。
所述步驟S12包括:步驟S121,將獲取的授權(quán)信息與標(biāo)識(shí)信息,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較,在匹配時(shí),判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
在本實(shí)施例中,預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系可以由用戶設(shè)置,也可以為系統(tǒng)默認(rèn)設(shè)置,或者由系統(tǒng)自動(dòng)生成。
可選的,可以采用以下方式自動(dòng)生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。所述步驟S111之前,還包括:在接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),獲取所述應(yīng)用的標(biāo)識(shí)信息,并為所述應(yīng)用分配與其標(biāo)識(shí)信息對(duì)應(yīng)的授權(quán)信息,以生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。在本實(shí)施例中,應(yīng)用在發(fā)送API的調(diào)用請(qǐng)求之前,先向系統(tǒng)發(fā)授權(quán)信息請(qǐng)求,且該授權(quán)信息請(qǐng)求中攜帶有該應(yīng)用的標(biāo)識(shí)信息。在系統(tǒng)接收到應(yīng)用的授權(quán)信息請(qǐng)求時(shí),可以隨機(jī)為該應(yīng)用分配一個(gè)授權(quán)信息,并建立該應(yīng)用的授權(quán)信息與標(biāo)識(shí)信息之間的關(guān)聯(lián)關(guān)系,即生成所述預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系。還可以將為該應(yīng)用分配的授權(quán)信息發(fā)送至應(yīng)用,以供應(yīng)用保存所述授權(quán)信息。從而在該應(yīng)用發(fā)送API的調(diào)用請(qǐng)求時(shí),可以將其標(biāo)識(shí)信息以及授權(quán)信息一并封裝至調(diào)用請(qǐng)求中。
在系統(tǒng)獲取到授權(quán)信息和標(biāo)識(shí)信息后,同預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系比較。在預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系中查找到獲取到的說(shuō)起信息與標(biāo)識(shí)信息并且其關(guān)聯(lián)關(guān)系也一致時(shí),則認(rèn)為匹配,并判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。
例如,預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系例如包括:“123,應(yīng)用1”和“456,應(yīng)用2”。在接收到應(yīng)用1的調(diào)用請(qǐng)求時(shí),可以獲得其授權(quán)信息為“123”,其標(biāo)識(shí)信息為“應(yīng)用1”,可以在預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系中查找到“應(yīng)用1”與“123”的對(duì)應(yīng)關(guān)系,因此則認(rèn)為匹配,判定對(duì)所述授權(quán)信息驗(yàn)證通過(guò)。在非法應(yīng)用獲取到應(yīng)用1的授權(quán)信息“123”時(shí),若其想盜用該授權(quán)信息“123”,則發(fā)送調(diào)用請(qǐng)求,并在該調(diào)用請(qǐng)求中攜帶非法盜用的授權(quán)信息“123”以及該非法應(yīng)用的標(biāo)識(shí)信息“應(yīng)用3”。在系統(tǒng)接收到來(lái)自非法應(yīng)用的調(diào)用請(qǐng)求時(shí),獲取到授權(quán)信息“123”和標(biāo)識(shí)信息“應(yīng)用3”,雖然可以在預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息中查找到授權(quán)信息“123”,但是預(yù)設(shè)的授權(quán)信息與標(biāo)識(shí)信息的對(duì)應(yīng)關(guān)系中,授權(quán)信息“123”對(duì)應(yīng)的標(biāo)識(shí)信息為“應(yīng)用1”,與調(diào)用請(qǐng)求中攜帶的標(biāo)識(shí)信息“應(yīng)用3”不一致,則認(rèn)為不匹配,因此,判定對(duì)所述授權(quán)信息驗(yàn)證不通過(guò)。
本實(shí)施例通過(guò)對(duì)標(biāo)識(shí)信息和授權(quán)信息同時(shí)驗(yàn)證,有效地防止了非法應(yīng)用或非法用戶盜用有效地授權(quán)信息,進(jìn)一步提高了調(diào)用API的安全性。
進(jìn)一步地,基于本發(fā)明調(diào)用API的控制方法的第二或第三實(shí)施例,本發(fā)明還提出了與上述調(diào)用API的控制裝置第四實(shí)施例對(duì)應(yīng)的調(diào)用API的控制方法的第四實(shí)施例,與第二和第三實(shí)施例不同的是,在第四實(shí)施例中,所述步驟S12之前,還包括:
在預(yù)設(shè)的黑名單信息中查找是否存在獲取的所述標(biāo)識(shí)信息;
在預(yù)設(shè)的黑名單信息中存在獲取的所述標(biāo)識(shí)信息時(shí),拒絕所述應(yīng)用調(diào)用所述API;
在預(yù)設(shè)的黑名單信息中不存在獲取的所述標(biāo)識(shí)信息時(shí),執(zhí)行所述步驟S12。
在本實(shí)施例中,黑名單信息可以為用戶手動(dòng)設(shè)置的,或者為系統(tǒng)默認(rèn)設(shè)置的,或者系統(tǒng)從互聯(lián)網(wǎng)上獲取的。黑名單信息中可以包括黑名單應(yīng)用對(duì)應(yīng)的標(biāo)識(shí)信息。
本實(shí)施例中通過(guò)在對(duì)授權(quán)信息進(jìn)行驗(yàn)證之前,先判斷當(dāng)前進(jìn)行調(diào)用操作的應(yīng)用是否為黑名單應(yīng)用,在為黑名單應(yīng)用時(shí)則直接拒絕調(diào)用,從而進(jìn)一步提高了調(diào)用API的安全性,并提高了驗(yàn)證的效率。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。