金山云html文件,金山云安全开放平台
金山網址云安全開放API文檔
一、概述
金山網址云安全開放 API 是金山網絡為第三方開發人員提供的編程接口。您可以利用此 API 查詢某個URL 的屬性。
目前金山網址云安全 API 支持的功能包括:
查詢一個 URL 是否是釣魚/欺詐網站
查詢一個下載 URL 是否屬于病毒/木馬/惡意軟件下載鏈接
二、API說明
2.1. 通用說明
2.1.1 所有API中的都必選的參數
appkey、timestamp、sign,以及secret用于授權驗證。請參考授權驗證。
本文檔的示例參數值為:
appkey= YXNkZmFzZGZqYXM
timestamp=1295430113.546
secret=6a204bd89f3c8348afd5c77c717a097a注意!:
- 此處為 示例參數
- 實用參數,請通過 云盾計劃 獲得!
2.1.2 關于urlsafe base64編碼
我們有多個API中要求對參數進行base64編碼,為了確保編碼后的結果不會打斷URI,我們采用urlsafe base64編碼,它和普通base64編碼的差別在于:將普通base64編碼結果中的加號(+)替換成減號(-),將斜杠(/)替換成下劃線(_)
2.1.3 API調用錯誤代碼說明
如果 API 調用失敗,返回一個 json 字符串:{"success": 0, "errno": $errno, "msg": $msg}
$errno
$msg
說明
-1
AppKeyError
應用的key不存在或者key已經失效
-2
SignError
無效的簽名
-3
$server_timestamp
無效的時間戳。$server_timestamp是服務器當前的時間戳
-4
CountLimit
超過當天查詢次數限制
-5
SpeedLimit
查詢過于頻繁
-6
ArgFormatError
查詢參數格式錯誤,例如某些API我們要求對參數進行base64編碼,如果base64編碼錯誤,服務器將返回此錯誤提示
-7
$arg
缺少必需的查詢參數。$arg說明所缺少的具體參數名
-8
ServerBusyError
服務器繁忙
-9
ConflictStamp
重復的時間戳
2.1.4 請求限制
我們將限制每個開發者應用appkey的每天訪問總量和每分鐘訪問量。
目前每個 appkey 的限制為:
每分鐘訪問上限為 1000 次,每天訪問上限為 10 萬次
2.2. 釣魚查詢API
功能
查詢一個網址是否屬于釣魚/欺詐性質
URL
http://open.pc120.com/phish/
返回值格式
json
HTTP請求方式
GET
請求參數
參數名
必選
說明
q
true
需要查詢的網址。需進行urlsafe base64編碼
appkey
true
應用appkey(請參考授權驗證)
timestamp
true
sign
true
返回值
查詢成功返回值:{"success": 1, "phish":$phish}
查詢失敗返回值:{"success": 0, "errno": $errno, "msg": $msg}
(請參考錯誤代碼說明)
$phish:-1 表示未知;0 表示非釣魚;1 表示釣魚;2 表示網站高風險,有釣魚嫌疑
示例
查詢 http://shenzhen-gzc.info/inde5.asp 是否是釣魚網站
首先將 http://shenzhen-gzc.info/inde5.asp 進行 urlsafe base64 編碼得出:
aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZvL2luZGU1LmFzcA==
計算簽名 sign(請參考授權驗證)得出: 179a114e128ead44ebd298ebb0aadca6
那么請求參數為:
參數名
參數值
q
aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZvL2luZGU1LmFzcA==
appkey
YXNkZmFzZGZqYXM
timestamp
1295430113.546
sign
179a114e128ead44ebd298ebb0aadca6
完整的API URL為:http://open.pc120.com/phish/?
q=aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZvL2luZGU1LmFzcA==
&appkey=YXNkZmFzZGZqYXM×tamp=1295430113.546
&sign=179a114e128ead44ebd298ebb0aadca6
訪問此URL返回值為{"success": 1, "phish":1}
說明 http://shenzhen-gzc.info/inde5.asp 是釣魚網站!
2.3. 下載安全查詢
API
功能
查詢一個網址是否屬于病毒/木馬/惡意軟件下載鏈接
URL
http://open.pc120.com/download/
返回值格式
json
HTTP請求方式
GET
請求參數
參數名
必選
說明
q
true
需要查詢的網址。需進行urlsafe base64編碼
appkey
true
應用appkey(請參考授權驗證)
timestamp
true
sign
true
返回值
查詢成功返回值:{"success": 1, "down_type": $down_type }
查詢失敗返回值:{"success":0, "errno": $errno, "msg": $msg}
(請參考錯誤代碼說明)
$down_type:1 表示未知,2 表示安全,3 表示危險,6 表示非 PE 文件
示例
查詢 http://downfile.dload001122.info/2011_1_18/7/m111.exep 是否是釣魚網站
首先將 http://downfile.dload001122.info/2011_1_18/7/m111.exe 進行 urlsafe base64 編碼得出:
aHR0cDovL2Rvd25maWxlLmRsb2FkMDAxMTIyLmluZm8vMjAxMV8xXzE4LzcvbTExMS5leGU=
計算簽名 sign(請參考授權驗證)得出: 4fe9e5b5ab13549bec29aacc4174dfed
那么請求參數為:
參數名
參數值
q
aHR0cDovL2Rvd25maWxlLmRsb2FkMDAxMTIyLmluZm8vMj
AxMV8xXzE4LzcvbTExMS5leGU=
appkey
YXNkZmFzZGZqYXM
timestamp
1295430113.546
sign
7c99d5fb17033be491f4cff33b4d944b
完整的API URL為:http://open.pc120.com/download/?
q=aHR0cDovL2Rvd25maWxlLmRsb2FkMDAxMTIyLmluZm8vMjAxMV8xXzE4LzcvbTExMS5leGU=
&appkey=YXNkZmFzZGZqYXM×tamp=1295430113.546
&sign=7c99d5fb17033be491f4cff33b4d944b
訪問此URL返回值為: {"success": 1, "down_type ": 3}
說明 http://downfile.dload001122.info/2011_1_18/7/m111.exe 是一個病毒下載鏈接
三、授權以及授權驗證過程
為了使用金山網址云安全開放API,需要為您的應用申請一個專屬的appkey(如何申請appkey請參考
申請APPKEY。我們會為每個應用提供一個專屬的appkey以及相對應的secret。其中appkey是應用的唯一標識,API將用此鑒別應用的身份。secret是給應用分配的密鑰,開發者需要妥善保存這個密鑰,這個密鑰用來保證應用來源的的可靠性,防止被偽造。權限驗證過程如下:
本文檔的示例中用到的參數值為:
appkey = YXNkZmFzZGZqYXM
secret = 6a204bd89f3c8348afd5c77c717a097a
權限驗證過程還需要一個參數timestamp。Timestamp為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數,本文當要求精確到毫秒。本文檔中一個有效的timestamp必須滿足兩個條件:唯一,即一個timestamp只能使用一次;必須是5分鐘內的timestamp
計算簽名(sign):首先需要生成簽名字符基串(下文稱此字符串為signature_base_string)。具體生成算法是,將HTTP查詢參數包括GET和POST中的參數按照參數名進行文本排序,然后參數名和參數值用等號(=)連接,各個參數用&連接;將API的URI路徑和上述排序之后的參數字符串用問號(?)連接之后形成signature_base_string。接下來把signature_base_string + secret組合成一個字符串,計算出此字符串的md5碼作為簽名sign
示例:
假設有一個應用需調用API:
http://open.pc120.com/phish/
假設參數列表為
參數名
參數值
q
aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZv
appkey
YXNkZmFzZGZqYXM
timestamp
1295430113.546
那么signature_base_string為:
/phish/?appkey=YXNkZmFzZGZqYXM&q=aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZv
×tamp=1295430113.546
計算sign簽名:
本示例: secret=6a204bd89f3c8348afd5c77c717a097a
md5(signature_base_string + secret)得出:
e8daf81268b84f0dfa8e13b032cd6ae9,此即簽名sign
在調用API時,簽名sign作為必選的參數之一
示例:
經過上2步,此時參數列表為
參數名
參數值
q
aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZv
appkey
YXNkZmFzZGZqYXM
timestamp
1295430113.546
sign
e8daf81268b84f0dfa8e13b032cd6ae9
以HTTP GET方式調用API為例,符合權限驗證規則的有效API URL為:
http://open.pc120.com/phish/?q=aHR0cDovL3NoZW56aGVuLWd6Yy5pbmZv
&appkey=YXNkZmFzZGZqYXM×tamp=1295430113.546
&sign=e8daf81268b84f0dfa8e13b032cd6ae9
金山網址云安全服務器將驗證appkey和sign的有效性。同時,還會檢查timestamp的有效性:一個timestamp的存活期為5分鐘;一個timestamp只能使用一次,再次查詢必須重新生成timestamp
驗證失敗返回值說明請參考錯誤代碼說明
總結
以上是生活随笔為你收集整理的金山云html文件,金山云安全开放平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 春风吹用计算机的谱子,方大同《春风吹》简
- 下一篇: html div百分比计算,css计算元