日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

為防止站點資源被惡意下載盜用,除了通過配置訪問Referer黑名單和白名單來實現對訪客身份的識別和過濾,您還可以采用URL鑒權,更安全有效地保護用戶源站資源。本文介紹URL鑒權、原理、使用方式和注意事項。

使用方法

  • 控制臺:URL鑒權支持默認鑒權和自定義鑒權兩種方式。

    • 默認鑒權:默認為A方式。詳細信息請參見直播地址生成器

    • 自定義鑒權:如不采用默認配置可自定義配置,具體操作,請參見配置URL鑒權。

    重要
    • 可通過控制臺配置URL鑒權自定義主KEY和副KEY,兩者擁有同樣的效力,副KEY主要用于平滑更換。

    • 若主KEY執行更換,所有使用主KEY生成的播放地址會立即失效。副KEY作為主KEY更換時,使用主KEY的播放地址不會馬上中斷,副KEY可以繼續替代主KEY提供服務。

  • 代碼拼接鑒權URL。

    1. 根據推流地址指定的AppName及StreamName得到未鑒權的播流地址,如rtmp:/DomainName/AppName/StreamName

    2. 根據鑒權算法,填入對應的播流地址計算鑒權URL,鑒權組成及算法請參見下表鑒權URL組成。獲取鑒權URL的代碼示例,請參見鑒權代碼示例。

鑒權URL組成

鑒權URL適用于PC端、移動端、第三方推流和播放工具。由直播推流地址或播放地址+鑒權串組成,示例如下:

rtmp://DomainName/AppName/StreamName?auth_key=timestamp-rand-uid-md5hash

鑒權URL

描述

rtmp://DomainName/AppName/StreamName

直播推流地址或播流地址,更多信息,請參見生成推流地址和播放地址

auth_key=timestamp-rand-uid-md5hash

鑒權串,包含timestamp、rand、uid、md5hash4個字段,字段描述如下。

timestamp

鑒權URL的失效時間,由生成鑒權URL的時間,與鑒權URL有效時長共同控制。使用UNIX時間戳表示(單位:秒)。

  • 若使用控制臺的地址生成器生成:timestamp=生成鑒權URL的時間。

  • 若使用代碼拼接:您可以自己定義timestamp。以Python為例:timestamp(失效時間) = int(time.time()) + 1 * 3600。

rand

隨機數,一般為0。

如要確保每次生成的URL不同,建議使用UUID格式,不能包含中劃線(-),如:477b3bbc253f467b8def6711128c7****。

uid

附加參數,暫未使用,一般為0。

md5hash

通過md5算法計算出的驗證串。數字和小寫英文字母混合0~9、a~z,固定長度32。

sstring = "URI-timestamp-rand-uid-PrivateKey" 
md5hash = md5sum(sstring)
  • URI:用戶請求對象相對地址,即原始URL中的/AppName/StreamName,其中StreamName包含擴展名。

    生成FLV地址時,URI為/AppName/StreamName.flv。

    生成HLS地址時,URI為/AppName/StreamName.m3u8

    生成FLV轉碼地址時,URI為/AppName/StreamName_ID.flv。

    生成HLS轉碼地址時,URI為/AppName/StreamName_ID.m3u8。

  • PrivateKey:控制臺配置的主KEY或副KEY,二者皆可。

  • md5sum:表示計算MD5值,請使用開發語言對應的函數。

說明

使用控制臺生成鑒權URL和使用代碼拼接鑒權URL的md5hash值計算方法相同。

功能原理

當開啟URL鑒權功能后,服務器獲取請求后會進行如下驗證:

  1. 判斷請求中的失效時間是否小于當前時間。

    • 如果小于當前時間,則認為過期失效并返回HTTP 403錯誤。

    • 如果大于當前時間,則構造出一個同樣的字符串(參見下文sstring構造方式)。

  2. 使用MD5算法算出HashValue,再和請求中帶來的md5hash進行比對。

    • 比對結果一致,則認為鑒權通過,返回直播流。

    • 否則鑒權失敗,返回HTTP 403錯誤。

HashValue是通過以下字符串計算出來的:

sstring = "URI-timestamp-rand-uid-PrivateKey"
HashValue = md5sum(sstring)

示例說明

  • 假設情況:

    1. 通過req_auth請求對象,rtmp://demo.aliyundoc.com/video/standard****。

    2. 鑒權KEY設置為:aliyunliveexp1234(控制臺設置的主KEY或副KEY,由用戶自行設置)。

    3. 生成鑒權URL時間為:北京時間2021年05月28日16:49:57。

    4. 控制臺中,鑒權URL設置的有效時長為40分鐘。

    5. rand和uid字段都設置為0。

  • 則:

    1. 計算出來的鑒權URL的Unix時間戳為1622194197(北京時間2021年05月28日17:29:57)。

    2. 服務器會構造一個用于計算Hashvalue的簽名字符串。

      /video/standard-1622194197-0-0-aliyunliveexp1234

    3. 服務器會根據該簽名字符串計算HashValue。

      HashValue = md5sum("/video/standard-1622194197-0-0-aliyunliveexp1234") = 5552ff52b5e4e20387c6dc18afce****

    4. 請求時URL為rtmp://demo.aliyundoc.com/video/standard****?auth_key=1622194197-0-0-5552ff52b5e4e20387c6dc18afce****

      說明

      auth_key即為鑒權URL所帶的鑒權信息。

    5. 計算出來的HashValue與用戶請求中帶的md5hash = 5552ff52b5e4e20387c6dc18afce****值一致,于是鑒權通過。

注意事項

  • 鑒權功能默認為開啟狀態,建議您保持默認開啟狀態,否則會出現直播被盜錄、盜播的風險。如果您想要關閉鑒權功能,需要了解盜刷風險并在控制臺URL鑒權頁面簽署《關閉URL鑒權免責協議》。

  • 鑒權功能默認為開啟狀態,但是配置鑒權auth_key參數必須需要業務端根據鑒權原理自行實現,暫時沒有提供API接口計算鑒權auth_key參數。

  • 開啟鑒權后推流或播流地址均需要添加鑒權auth_key參數才可正常播放。暫時不支持僅推流或者播流一個地址開啟鑒權的功能。

  • 鑒權URL提供的是過期時間戳的限制,即在該時間段內該地址可以一直訪問,不會有任何限制,鑒權還無法實現設置某個URL僅能夠一次訪問的功能。

  • 鑒權auth_key參數是根據去掉queryString后的URI計算MD5值后拼接得到的,參見前述設置鑒權參數小節。因此,推流和播流地址的URI均為AppName/StreamName。建議用戶業務邏輯中如果推流地址有泄漏的情況下設置過期時間戳在業務許可范圍內盡量短一些,避免播流地址被惡意訪問。

  • 針對RTMP、FLV、RTS格式的推播流地址鑒權僅會在推流或者播流開始的時候進行驗證,在推流或者播流過程中不會驗證,即推流或者播流過程中如果超過了鑒權時間戳也可以繼續播放。

  • 針對M3U8格式的播流地址鑒權會在播流開始以及播流過程中進行驗證,即在播流過程中如果超過了鑒權時間戳,M3U8格式的播流地址將不能正常播放。