tencent cloud

云直播

动态与公告
公告
新手指南
产品简介
产品概述
子产品简介
基本概念
产品功能
应用场景
产品优势
使用限制
购买指南
计费概述
基础服务费
增值服务费
预付费资源包
购买流程
计费变更
退款说明
账单查询
续费说明
欠费停服说明
计费常见问题
标准直播
概述
应用场景
快速入门
SDK 接入说明
快直播(超低延时直播)
概述
快直播和标准直播区别
应用场景
快速入门
SDK 接入说明
云导播台
概述
应用场景
功能区介绍
云导播台管理
通用云导播
配置节目单和自动导播
控制台指南
控制台介绍
概览
域名管理
流管理
资源包管理
AI 智能
功能配置
拉流转推
计费用量
业务监控
常用工具
无忧直播
CAM 访问控制
功能实践
直播推流与播放
直播增值功能
典型场景实践
云端原生录制
直播安全
海外直播
回调事件消息通知
常见第三方工具指南
SDK 实践
0. SDK 接入引导
1. 推流
2. 播放
3. 高级功能
API 文档
History
Introduction
API Category
Making API Requests
Live Pad APIs
Live Stream Mix APIs
Time Shifting APIs
Monitoring Data Query APIs
Billing Data Query APIs
Live Transcoding APIs
Delayed Playback Management APIs
Domain Name Management APIs
Watermark Management APIs
Certificate Management APIs
Stream Pulling APIs
Recording Management APIs
Live Callback APIs
Screencapturing and Porn Detection APIs
Authentication Management APIs
Live Stream Management APIs
Data Types
Error Codes
运维指南
优化视频卡顿
推流失败问题排查
播放失败问题排查
CLS 协助直播问题排查
直播延迟问题排查
拉流视频质量不清晰问题排查
COS bucket 授权给直播实现截图存储
故障处理
直播混流报错:InvalidParameter.OtherError
常见问题
服务地区相关
直播基础相关
推流播放相关
直播计费相关
直播海外相关
直播录制相关
云端混流相关
域名配置相关
云导播台相关
适配苹果 ATS 相关
服务等级协议
云直播服务等级协议
CSS 政策
隐私协议
数据处理和安全协议
词汇表

防盗链计算

PDF
聚焦模式
字号
最后更新时间: 2025-12-03 17:56:26
安全防盗链是指推流和播放 URL 中的 txSecret 字段,它的作用是防止攻击者伪造您的后台生成推流 URL 或者非法盗取您的播放地址进行谋利。

安全原理

为了不让攻击者伪造您的服务器生成推流和播放 URL,您可以通过在直播管理控制台配置防盗链加密 KEY(请勿轻易泄露,以防被攻击者获取),使得攻击者无法轻易伪造出有效的推流和播放 URL,如下图所示:




计算过程

步骤1:鉴权密钥

首先,您需要在官网的控制台配置一个加密密钥,这个加密密钥用于在您的服务器上生成防盗链签名,由于腾讯云跟您持有同样的密钥,所以您生成的防盗链签名,腾讯云是可以进行解密确认的。
加密密钥分为推流防盗链 Key 和播放防盗链 Key,前者用于生成推流防盗链 URL,后者用于生成播放防盗 URL。进入云直播控制台 > 域名管理中单击对应的域名或管理,选择推流配置即可以自助配置推流防盗链 KEY,如图所示:


关于播放防盗链 Key 的相关信息,请参见如何开启播放防盗链?

步骤2 :生成 txTime

签名中明文部分为 txTime(时间单位:秒),含义是该链接的有效期,例如当前的时间是 2025-11-28 20:10:21,而且期望新生成的 URL 是在3小时后即作废,那么 txTime 就可以设置为 2025-11-28 23:10:21
不过这么长一串时间字符串放在 URL 里显然不太合适,实际使用中我们是把 2025-11-28 23:10:21 转换成 UNIX 时间戳,也就是1694669601(可通过不同编程语言直接调用时间函数进行转换处理),然后转换成十六进制以进一步压缩字符长度,也就是 txTime = 1694669601(十进制) = 65029b21(十六进制),当然,使用十进制也是支持的。
注意
播放地址的实际最终结束时间为 txTime + 鉴权有效期,鉴权有效期修改不影响 URL 的生成,但是可以延长地址的鉴权有效时间。
我们建议您设置的 txTime 过期时间不要过长或过短:
如果过期时间过短,当主播在直播过程中遭遇网络闪断时,会因为推流 URL 过期而无法恢复推流。
如果过期时间过长,存在被盗推的风险。

步骤3:生成 txSecret

txSecret 的生成方法是 = MD5(KEY + StreamName + txTime),这里的 KEY 就是您在第一步中配置的加密 KEY,StreamName(也叫流 ID,推荐用随机数字或者用户 ID)在本例中为 test,txTime 为刚才计算的 65029b21,MD5 即标准的 MD5 单向不可逆哈希算法(目前还新增了SHA256加密算法)。
例如:
KEY 为 e12c46f2612d5106e2034781ab261ca3
则 txSecret = MD5(e12c46f2612d5106e2034781ab261ca3test5C271099) = f85a2ab363fe4deaffef9754d79da6fe

步骤4:合成防盗链地址

符合腾讯云标准的推流 URL,它由下面四个部分组成:

现在我们有推流(或播放)可以用来告知腾讯云该 URL 过期时间的 txTime,只有腾讯云才能解密并且验证的 txSecret,StreamName 以及推流域名(假设为 livepush.tcloud.com),那么我们就可以合成一条标准的 URL。在本文档的例子中,推流 URL 为:
rtmp://livepush.tcloud.com/live/test?txSecret=f85a2ab363fe4deaffef9754d79da6fe&txTime=5C271099

推流示例代码

云直播控制台 > 域名管理,选中事先配置的推流域名,管理 > 推流配置页面下半部分有推流地址示例代码(PHP 和 Java 两个版本)演示如何生成防盗链地址。详情可参见 推流配置


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈