一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法及裝置,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);所述方法包括:接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址;獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組;根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求;如果是,攔截所述調(diào)用請(qǐng)求。利用本發(fā)明實(shí)施例,提高了接口防刷的精確性。
【專利說(shuō)明】
一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及接口防刷技術(shù)領(lǐng)域,特別涉及一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法及
目.0
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,使得人們更加關(guān)注互聯(lián)網(wǎng)信息安全以及互聯(lián)網(wǎng)公司自身的業(yè)務(wù)安全。在公司的用戶登錄、注冊(cè)、激活碼、活動(dòng)鏈接等重要業(yè)務(wù)領(lǐng)域,安全防刷技術(shù)顯得尤為重要。
[0003]現(xiàn)有的接口防刷技術(shù)多以異步數(shù)據(jù)分析為基礎(chǔ),建立黑白名單等方式再應(yīng)用到接口層防止惡意請(qǐng)求和調(diào)用。由于需要積累一定的數(shù)據(jù)基礎(chǔ),所以對(duì)于數(shù)據(jù)基礎(chǔ)不強(qiáng)的接口防刷技術(shù)來(lái)說(shuō),其黑白名單庫(kù)中的用戶數(shù)據(jù)基礎(chǔ)不強(qiáng),容易造成無(wú)法識(shí)別并攔截惡意請(qǐng)求,從而導(dǎo)致防刷的精確性不高。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例的目的在于提供一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法及裝置,以提高接口防刷的精確性。
[0005]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);方法包括:
[0006]接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址;
[0007]獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組;
[0008]根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;
[0009]根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求;
[0010]如果是,攔截所述調(diào)用請(qǐng)求。
[0011]較佳的,所述根據(jù)所述黑名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求,包括:
[0012]根據(jù)所述黑名單庫(kù),判斷所述黑名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;
[0013]如果存在,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;
[0014]如果不存在,根據(jù)所述白名單庫(kù),判斷所述白名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;
[0015]如果否,根據(jù)所述令牌中包含的參數(shù),校驗(yàn)所述請(qǐng)求地址是否合法;
[0016]如果不合法,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;
[0017]如果合法,根據(jù)所述請(qǐng)求地址、所述令牌包含的用于生成簽名的參數(shù)以及所述第一算法組對(duì)應(yīng)的第二算法組,生成第二地址簽名;
[0018]判斷所述第二地址簽名和所述第一地址簽名是否相同;
[0019]如果不相同,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求。
[0020]較佳的,所述方法還包括:
[0021]在將所述調(diào)用請(qǐng)求確定為惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第一次數(shù)的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述黑名單庫(kù)中。
[0022]較佳的,所述方法還包括:
[0023]在將所述調(diào)用請(qǐng)求確定為非惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第二次數(shù)、且所述白名單庫(kù)中不存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述白名單庫(kù)中。
[0024]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種針對(duì)接口的調(diào)用請(qǐng)求的處理裝置,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);所述裝置包括:
[0025]接收模塊,用于接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址;
[0026]獲得模塊,用于獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組;
[0027]生成模塊,用于根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;
[0028]判斷模塊,用于根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求;
[0029]攔截模塊,用于在判斷所述調(diào)用請(qǐng)求為惡意請(qǐng)求的情況下,攔截所述調(diào)用請(qǐng)求。
[0030]較佳的,所述判斷裝置,具體用于:
[0031]根據(jù)所述黑名單庫(kù),判斷所述黑名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;
[0032]如果存在,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;
[0033]如果不存在,根據(jù)所述白名單庫(kù),判斷所述白名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;
[0034]如果否,根據(jù)所述令牌中包含的參數(shù),校驗(yàn)所述請(qǐng)求地址是否合法;
[0035]如果不合法,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;
[0036]如果合法,根據(jù)所述請(qǐng)求地址、所述令牌包含的用于生成簽名的參數(shù)以及所述第一算法組對(duì)應(yīng)的第二算法組,生成第二地址簽名;
[0037]判斷所述第二地址簽名和所述第一地址簽名是否相同;
[0038]如果不相同,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求。
[0039]較佳的,所述裝置還包括:
[0040]第一添加模塊,用于在將所述調(diào)用請(qǐng)求確定為惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第一次數(shù)的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述黑名單庫(kù)中。
[0041 ]較佳的,所述裝置還包括:
[0042]第二添加模塊,用于在將所述調(diào)用請(qǐng)求確定為非惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第二次數(shù)、且所述白名單庫(kù)中不存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述白名單庫(kù)中。
[0043]由上述的技術(shù)方案可見,本發(fā)明實(shí)施例提供的一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法及裝置,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址;獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組;根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求;如果是,攔截所述調(diào)用請(qǐng)求。
[0044]可見,在數(shù)據(jù)基礎(chǔ)不強(qiáng)時(shí),在黑白名單庫(kù)無(wú)法識(shí)別并攔截惡意請(qǐng)求的情況下,可以繼續(xù)通過(guò)令牌參數(shù)校驗(yàn)和簽名校驗(yàn),快速識(shí)別并攔截惡意請(qǐng)求,并且可以將用戶信息添加進(jìn)黑名單或白名單庫(kù)中,從而使得接口防刷更為精準(zhǔn)。
[0045]當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
【附圖說(shuō)明】
[0046]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0047]圖1為本發(fā)明實(shí)施例提供的一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法的流程示意圖;
[0048]圖2為本發(fā)明實(shí)施例提供的一種針對(duì)接口的調(diào)用請(qǐng)求的處理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0049]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0050]下面首先對(duì)本發(fā)明實(shí)施例提供的一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法進(jìn)行詳細(xì)說(shuō)明。
[0051 ]參見圖1,圖1為本發(fā)明實(shí)施例提供的一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法的流程示意圖,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);可以包括如下步驟:
[0052]SlOl,接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址;
[0053]具體的,用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求可以為人工的調(diào)用請(qǐng)求,例如登錄12306網(wǎng)站、注冊(cè)微博賬號(hào)、獲取激活碼、點(diǎn)擊活動(dòng)鏈接等等,也可以為“機(jī)器”的調(diào)用請(qǐng)求,例如軟件發(fā)起的惡意請(qǐng)求、撞庫(kù)等等。撞庫(kù)是一種針對(duì)數(shù)據(jù)庫(kù)的攻擊方式,方法是通過(guò)攻擊者所擁有的數(shù)據(jù)庫(kù)的數(shù)據(jù),生成對(duì)應(yīng)的字典表,攻擊目標(biāo)數(shù)據(jù)庫(kù),可以理解為用戶在A網(wǎng)站被盜的賬戶密碼來(lái)登陸B(tài)網(wǎng)站。由于很多用戶在不同網(wǎng)站使用的是相同的賬號(hào)密碼,因此可以獲取用戶在B網(wǎng)站的用戶賬戶從而達(dá)到目的。
[0054]具體的,調(diào)用請(qǐng)求中包含有請(qǐng)求地址。請(qǐng)求地址可以為URL地址,例如為:http: //baike.baidu.com/1i n k ? u r I = Q4GDs7P4zNqNSt78J8nnzA9HS5Ue_4xvatd2rzU2CH2XiLZDIbHpyV3IgJ102RMPdpqkXaffHffx7jllsTNjaUTklR_qqDHeAblYcL0tVSPAi ο
[0055]S102,獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組;
[0056]具體的,令牌可以為token,第一算法組可以為JSSDK。前端向后臺(tái)服務(wù)器請(qǐng)求token以及用于生成URL簽名的JS SDK。通過(guò)后臺(tái)的算法庫(kù)隨機(jī)獲取多個(gè)簽名算法的排列,得到第一算法組JS SDKdoken中攜帶后臺(tái)需要驗(yàn)證的部分信息,是URL合法性校驗(yàn)的一部分。算法庫(kù)里算法越多,用戶破解難度越大。
[0057]具體的,算法庫(kù)主要追求算法數(shù)量,不需要過(guò)于復(fù)雜的加密算法,也可以節(jié)省機(jī)器的CPU消耗。比如不同鹽值的MD5算法,可針對(duì)調(diào)用請(qǐng)求的各個(gè)因素做加密處理,比如接口名,參數(shù)列表等。輸入是整個(gè)接口調(diào)用請(qǐng)求(URL)的所有信息。算法庫(kù)可以包含JS SDK和對(duì)應(yīng)的后端算法。
[0058]S103,根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;
[0059]具體的,前端通過(guò)JSSDK和請(qǐng)求地址URL生成第一地址簽名,并調(diào)用防刷后臺(tái),第一地址簽名以及token作為參數(shù)同時(shí)傳到防刷后臺(tái)。
[0060]S104,根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求;
[0061]具體的,該步驟可以包括:根據(jù)所述黑名單庫(kù),判斷所述黑名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;如果存在,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;如果不存在,根據(jù)所述白名單庫(kù),判斷所述白名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;如果否,根據(jù)所述令牌中包含的參數(shù),校驗(yàn)所述請(qǐng)求地址是否合法;如果不合法,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;如果合法,根據(jù)所述請(qǐng)求地址、所述令牌包含的用于生成簽名的參數(shù)以及所述第一算法組對(duì)應(yīng)的第二算法組,生成第二地址簽名;判斷所述第二地址簽名和所述第一地址簽名是否相同;如果不相同,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求。
[0062]其中,后臺(tái)可以根據(jù)用戶是否在黑白名單庫(kù)對(duì)調(diào)用請(qǐng)求做不同處理,比如白名單里的用戶直接代理到業(yè)務(wù)接口,黑名單庫(kù)用戶直接返回錯(cuò)誤信息等等。黑白名單庫(kù)可以通過(guò)例如防刷平臺(tái)訪問(wèn)日志、防刷系統(tǒng)攔截日志以及其他業(yè)務(wù)日志等逐步建立與完善,隨著黑白名單庫(kù)中數(shù)據(jù)的積累也可以發(fā)揮越來(lái)越大的作用。
[0063]其中,可以選取可逆的加密算法生成token。算法可以破解難度較高為好,同時(shí)需兼顧服務(wù)器CHJ使用問(wèn)題,例如AES(高級(jí)加密標(biāo)準(zhǔn))加密算法。token里可攜帶接口請(qǐng)求的部分信息,比如時(shí)間戳(t ime s tamp)等。
[0064]其中,后端可以通過(guò)算法庫(kù)中和JS SDK對(duì)應(yīng)的后端算法、token以及URL生成第二地址簽名,判斷校驗(yàn)前端通過(guò)JS SDK生成的第一地址簽名和第二地址簽名是否相同,如果不同,說(shuō)明調(diào)用請(qǐng)求為惡意請(qǐng)求,則會(huì)被攔截。例如第二地址簽名為a:0f9de62fce790f9a083d5c99e95740ceb90c27ed,第一地址簽名為 b:0f9de62fce790f9a083d5c99e95740ceb90c06ab,兩者不同,說(shuō)明前端使用無(wú)效的簽名,調(diào)用請(qǐng)求為惡意請(qǐng)求,則會(huì)被攔截。
[0065]具體的,在實(shí)際應(yīng)用中,在將所述調(diào)用請(qǐng)求確定為惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第一次數(shù)的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述黑名單庫(kù)中。其中,第一預(yù)設(shè)次數(shù)可以為10次。
[0066]具體的,在實(shí)際應(yīng)用中,在將所述調(diào)用請(qǐng)求確定為非惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第二次數(shù)、且所述白名單庫(kù)中不存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述白名單庫(kù)中。其中,第二預(yù)設(shè)次數(shù)可以為10次。
[0067]S105,如果是,攔截所述調(diào)用請(qǐng)求。
[0068]具體的,在判斷調(diào)用請(qǐng)求為惡意請(qǐng)求的情況下,防刷后臺(tái)可以攔截該調(diào)用請(qǐng)求。其中,攔截用戶針對(duì)接口的調(diào)用請(qǐng)求屬于現(xiàn)有技術(shù),例如可以直接返回錯(cuò)誤信息等,本發(fā)明實(shí)施例在此不對(duì)其進(jìn)行贅述。
[0069]示例性的,防刷后臺(tái)可以為安全防刷防盜鏈平臺(tái)。其中,安全防刷防盜鏈平臺(tái)搭建流程可以為:
[0070]建立算法庫(kù):算法庫(kù)主要追求算法數(shù)量,不需要過(guò)于復(fù)雜的加密算法,也節(jié)省機(jī)器的CPU消耗。比如不同鹽值的MD5(信息一摘要算法5)算法,可針對(duì)請(qǐng)求的各個(gè)因素做加密處理,比如接口名,參數(shù)列表等。輸入是整個(gè)接口調(diào)用(url請(qǐng)求)的所有信息。算法庫(kù)包含JSSDK和對(duì)應(yīng)的后端算法;
[0071]建立反向代理流程:選擇一個(gè)反向代理服務(wù)器,比如nginx服務(wù)器,選擇一個(gè)適用于該服務(wù)器的語(yǔ)言,比如Iua語(yǔ)言。對(duì)所需防刷的接口,可以通過(guò)nginx代理,在nginx轉(zhuǎn)發(fā)之前利用Iua做對(duì)應(yīng)的防刷校驗(yàn);
[0072]獲得token:可以選取可逆的加密算法生成token,如AES(Ri jndaeI加密算法)。算法以破解難度較高為好,同時(shí)需兼顧服務(wù)器CPU的使用問(wèn)題。token里可攜帶接口請(qǐng)求的部分參數(shù),比如時(shí)間戳等。
[0073]示例性的,在搭建完防刷后臺(tái)后,可以使用該后臺(tái)進(jìn)行接口防刷。接口調(diào)用請(qǐng)求的防刷流程可以為:
[0074]需要請(qǐng)求的最終接口以及參數(shù)組成URL,防刷服務(wù)器域名為C,防刷接口為D。首先客戶端向服務(wù)端請(qǐng)求token以及JS SDK,服務(wù)端返回的JS SDK將用于客戶端生成URL簽名,token需要客戶端透?jìng)鹘o服務(wù)端??梢韵蚍?wù)端請(qǐng)求C/D?url =A&token = token&sign =0f9de62fce790f9a083d5c99e95740ceb90c27ed。服務(wù)端先判斷 token 針對(duì)當(dāng)次請(qǐng)求是否有效,比如是否還有時(shí)效。如果惡意刷接口的行為多次使用同一個(gè)token,這一步可以對(duì)惡意請(qǐng)求進(jìn)行攔截。
[0075]如果客戶端每次請(qǐng)求都使用實(shí)時(shí)token ,token驗(yàn)證通過(guò)將進(jìn)行JS SDK校驗(yàn)。JSSDK可以配合網(wǎng)站的相關(guān)插件使用,如果沒(méi)有將不能被正確執(zhí)行;如果惡意的接口調(diào)用請(qǐng)求沒(méi)有破解JS SDK,那么惡意請(qǐng)求在該步驟將被攔截;如果破解JS SDK,那么本次請(qǐng)求成功,但是下次請(qǐng)求將重新計(jì)算JS SDK,由于JS SDK算法各不相同,客戶端接口的惡意調(diào)用請(qǐng)求又需要重新破解,這種破解難度很大,每次破解所花時(shí)間也很客觀,比正常流程的接口調(diào)用請(qǐng)求甚至要慢很多。
[0076]針對(duì)防刷接口的數(shù)據(jù)以及網(wǎng)站其他業(yè)務(wù)方的數(shù)據(jù),可以根據(jù)用戶的客戶端ip信息、設(shè)備號(hào)等建立并更新黑白名單庫(kù),在黑名單中的用戶可以直接被攔截,有些已知的重點(diǎn)用戶為避免誤傷,可以人工添加到白名單庫(kù)中。
[0077]可見,在數(shù)據(jù)基礎(chǔ)不強(qiáng)時(shí),在黑白名單庫(kù)無(wú)法識(shí)別并攔截惡意請(qǐng)求的情況下,可以繼續(xù)通過(guò)令牌參數(shù)校驗(yàn)和簽名校驗(yàn),快速識(shí)別并攔截惡意請(qǐng)求,并且可以將用戶信息添加進(jìn)黑名單或白名單庫(kù)中,從而使得接口防刷更為精準(zhǔn)。
[0078]參見圖2,圖2為本發(fā)明實(shí)施例提供的一種針對(duì)接口的調(diào)用請(qǐng)求的處理裝置的結(jié)構(gòu)示意圖,與圖1所示的流程相對(duì)應(yīng),預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);該處理裝置可以包括:接收模塊201、獲得模塊202、生成模塊203、判斷模塊204、攔截模塊205。
[0079]其中,接收模塊201,用于接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址;
[0080]獲得模塊202,用于獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組;
[0081]生成模塊203,用于根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;
[0082]判斷模塊204,用于根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求;
[0083]具體的,判斷模塊204,具體可以用于:
[0084]根據(jù)所述黑名單庫(kù),判斷所述黑名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;
[0085]如果存在,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;
[0086]如果不存在,根據(jù)所述白名單庫(kù),判斷所述白名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息;
[0087]如果否,根據(jù)所述令牌中包含的參數(shù),校驗(yàn)所述請(qǐng)求地址是否合法;
[0088]如果不合法,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求;
[0089]如果合法,根據(jù)所述請(qǐng)求地址、所述令牌包含的用于生成簽名的參數(shù)以及所述第一算法組對(duì)應(yīng)的第二算法組,生成第二地址簽名;
[0090]判斷所述第二地址簽名和所述第一地址簽名是否相同;
[0091 ]如果不相同,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求。
[0092]攔截模塊205,用于在判斷所述調(diào)用請(qǐng)求為惡意請(qǐng)求的情況下,攔截所述調(diào)用請(qǐng)求。
[0093]具體的,針對(duì)接口的調(diào)用請(qǐng)求的處理裝置,還可以包括第一添加模塊(圖中未示出)。
[0094]其中,第一添加模塊,可以用于在將所述調(diào)用請(qǐng)求確定為惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第一次數(shù)的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述黑名單庫(kù)中。
[0095]具體的,針對(duì)接口的調(diào)用請(qǐng)求的處理裝置,還可以包括第二添加模塊(圖中未示出)。
[0096]其中,第二添加模塊,可以用于在將所述調(diào)用請(qǐng)求確定為非惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第二次數(shù)、且所述白名單庫(kù)中不存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述白名單庫(kù)中。
[0097]可見,在數(shù)據(jù)基礎(chǔ)不強(qiáng)時(shí),在黑白名單庫(kù)無(wú)法識(shí)別并攔截惡意請(qǐng)求的情況下,可以繼續(xù)通過(guò)令牌參數(shù)校驗(yàn)和簽名校驗(yàn),快速識(shí)別并攔截惡意請(qǐng)求,并且可以將用戶信息添加進(jìn)黑名單或白名單庫(kù)中,從而使得接口防刷更為精準(zhǔn)。
[0098]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0099]本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
[0100]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0101]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種針對(duì)接口的調(diào)用請(qǐng)求的處理方法,其特征在于,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);所述方法包括: 接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址; 獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組; 根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名;根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求; 如果是,攔截所述調(diào)用請(qǐng)求。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述黑名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求,包括: 根據(jù)所述黑名單庫(kù),判斷所述黑名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息; 如果存在,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求; 如果不存在,根據(jù)所述白名單庫(kù),判斷所述白名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息; 如果否,根據(jù)所述令牌中包含的參數(shù),校驗(yàn)所述請(qǐng)求地址是否合法; 如果不合法,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求; 如果合法,根據(jù)所述請(qǐng)求地址、所述令牌包含的用于生成簽名的參數(shù)以及所述第一算法組對(duì)應(yīng)的第二算法組,生成第二地址簽名; 判斷所述第二地址簽名和所述第一地址簽名是否相同; 如果不相同,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 在將所述調(diào)用請(qǐng)求確定為惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第一次數(shù)的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述黑名單庫(kù)中。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 在將所述調(diào)用請(qǐng)求確定為非惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第二次數(shù)、且所述白名單庫(kù)中不存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述白名單庫(kù)中。5.—種針對(duì)接口的調(diào)用請(qǐng)求的處理裝置,其特征在于,預(yù)先建立針對(duì)用戶的黑名單庫(kù)和白名單庫(kù);所述裝置包括: 接收模塊,用于接收用戶針對(duì)目標(biāo)接口的調(diào)用請(qǐng)求,所述調(diào)用請(qǐng)求中至少包括請(qǐng)求地址; 獲得模塊,用于獲得至少包含用于校驗(yàn)所述請(qǐng)求地址合法性的參數(shù)的令牌和用于生成針對(duì)所述請(qǐng)求地址的地址簽名的第一算法組; 生成模塊,用于根據(jù)所述第一算法組以及所述請(qǐng)求地址,生成針對(duì)所述請(qǐng)求地址的第一地址簽名; 判斷模塊,用于根據(jù)所述黑名單庫(kù)、所述白名單庫(kù)、所述令牌和所述第一地址簽名,判斷所述調(diào)用請(qǐng)求是否為惡意請(qǐng)求; 攔截模塊,用于在判斷所述調(diào)用請(qǐng)求為惡意請(qǐng)求的情況下,攔截所述調(diào)用請(qǐng)求。6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述判斷裝置,具體用于: 根據(jù)所述黑名單庫(kù),判斷所述黑名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息; 如果存在,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求; 如果不存在,根據(jù)所述白名單庫(kù),判斷所述白名單庫(kù)中是否存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息; 如果否,根據(jù)所述令牌中包含的參數(shù),校驗(yàn)所述請(qǐng)求地址是否合法; 如果不合法,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求; 如果合法,根據(jù)所述請(qǐng)求地址、所述令牌包含的用于生成簽名的參數(shù)以及所述第一算法組對(duì)應(yīng)的第二算法組,生成第二地址簽名; 判斷所述第二地址簽名和所述第一地址簽名是否相同; 如果不相同,確定所述調(diào)用請(qǐng)求為惡意請(qǐng)求。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第一添加模塊,用于在將所述調(diào)用請(qǐng)求確定為惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第一次數(shù)的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述黑名單庫(kù)中。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第二添加模塊,用于在將所述調(diào)用請(qǐng)求確定為非惡意請(qǐng)求的次數(shù)到達(dá)預(yù)設(shè)第二次數(shù)、且所述白名單庫(kù)中不存在所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息的情況下,將所述用戶對(duì)應(yīng)的標(biāo)識(shí)信息添加到所述白名單庫(kù)中。
【文檔編號(hào)】H04L29/06GK105897782SQ201610510791
【公開日】2016年8月24日
【申請(qǐng)日】2016年6月30日
【發(fā)明人】劉凱, 梁昆, 孫闊, 尚德重, 張海艷, 汪強(qiáng), 余文秋
【申請(qǐng)人】北京奇藝世紀(jì)科技有限公司