URL鑒權功能主要用於保護使用者網站資源不被非法網站下載盜用。ApsaraVideo for VOD提供了三種鑒權方式,本文為您詳細介紹鑒權方式B的原理和樣本說明。
原理說明
鑒權方式B加密URL構成
http://DomainName/timestamp/md5hash/FileName
鑒權欄位說明
欄位 | 描述 |
DomainName | ApsaraVideo for VOD的網域名稱。 |
timestamp | 簽算伺服器產生鑒權URL的時間,與鑒權URL的預設有效時間長度共同控制鑒權URL的失效時間。時間點取自簽算伺服器的“UTC+8”時間,格式為:YYYYMMDDHHMM。 說明 多數情況下,鑒權URL的實際有效時間長度為ApsaraVideo for VOD中配置的預設有效時間長度。有時在簽算伺服器上配置了鑒權URL的有效時間長度情況下,此時,timestamp=簽算伺服器上的Unix時間戳記+簽算伺服器上配置的有效時間長度;鑒權URL實際有效時間長度=timestamp+點播配置的鑒權URL的預設有效時間長度。 |
md5hash | 通過MD5演算法計算出的驗證字串。由數字0~9和小寫英文字母a~z混合組成,固定長度為32。 |
Filename | 實際回源訪問的URL,鑒權時Filename需以正斜線( |
鑒權邏輯說明
CDN伺服器接到資源訪問請求後,判斷最終產生鑒權URL請求中的timestamp
+點播控制台URL鑒權中配置的預設有效時間長度
是否小於目前時間。
如果
timestamp
+預設有效時間長度
小於目前時間,伺服器判定到期失效,並返回HTTP 403錯誤。如果
timestamp
+預設有效時間長度
大於目前時間,則以sstring
方式構造出一個字串(參考上述表格中sstring
構造方式),然後使用MD5演算法算出md5hash
的值,再將計算出的md5hash
值與使用者訪問請求中攜帶的md5hash
的值進行比對。結果不一致,鑒權失敗,返回HTTP 403錯誤。
結果一致,鑒權通過,返回資源請求。
說明當鑒權通過時,會去掉URL中與鑒權相關的那部分參數,可以提高快取命中率,減少回源流量。
實際回源的URL格式:
http://DomainName/FileName
實際產生緩衝key的URL格式:
http://DomainName/FileName
鑒權URL樣本
通過以下樣本說明,您可以準確理解鑒權方式B的實現方式。
樣本條件
回源請求對象:
http://example.aliyundoc.com/video/standard/test.mp4
說明如果您的回源請求對象中有中文漢字,請先對其進行URL轉碼(即Encode),再進行鑒權URL的拼接。
設定密鑰(PrivateKey)為:aliyunvodexp1234。
簽算伺服器產生鑒權URL的時間(timestamp)為:2021-08-01 00:00:00(UTC+8),轉換為十進位的整型數值為1627747200。
拼接流程
造一個用於計算
md5hash
的簽名字串。aliyunvodexp12341627747200/video/standard/test.mp4
根據該簽名字串,計算出
md5hash
。md5hash = md5sum("aliyunvodexp12341627747200/video/standard/test.mp4") = 9044548ef1527deadafa49a890a3****
產生鑒權URL。
http://example.aliyundoc.com/1627747200/9044548ef1527deadafa49a890a3****/video/standard/test.mp4
當使用用戶端提供的加密URL進行訪問時,如果CDN伺服器計算出來的md5hash
值與訪問請求中帶的md5hash
值相同,都為9044548ef1527deadafa49a890a3****,則鑒權通過;反之鑒權失敗。