注意:对于鉴权系统,参数越多、实现越复杂通常意味着安全性越高,因此显示为绿色。
| 特性 | 鉴权A 在线工具 | 鉴权B 在线工具 | 鉴权C 在线工具 | 鉴权D 在线工具 |
|---|---|---|---|---|
| URL形式 | 查询参数式 | 路径式 | 路径式 | 查询参数式 |
| 时间戳格式 | Unix十进制 | YYYYMMDDHHMM | Unix十六进制 | Unix十进制/十六进制 |
| MD5算法 | MD5(Path-timestamp-rand-uid-密钥) |
MD5(密钥+timestamp+Path) |
MD5(密钥+Path+timestamp) |
MD5(密钥+Path+timestamp) |
| 随机字符串 | 支持(0-100位) | 不支持 | 不支持 | 不支持 |
| 用户ID | 支持 | 不支持 | 不支持 | 不支持 |
| 参数个数 | 4个(timestamp-rand-uid-md5hash) | 2个(timestamp/md5hash) | 2个(md5hash/timestamp) | 2个(token&t) |
| URL长度 | 最长 | 中等 | 最短 | 中等 |
| 安全性等级 | 最高 | 高 | 高 | 中等 |
| 实现复杂度 | 高 | 中 | 中 | 低 |
| SEO友好度 | 一般 | 很好 | 很好 | 一般 |
| CDN缓存友好 | 差 | 很好 | 很好 | 差 |
| 防重放攻击 | 支持 | 不支持 | 不支持 | 不支持 |
| 时区依赖 | 无依赖 | 依赖UTC+8 | 无依赖 | 无依赖 |
| 可读性 | 差 | 很好 | 一般 | 好 |
原始URL: https://cdn.example.com/videos/movie.mp4
| 鉴权方式 | 生成的鉴权URL示例 |
|---|---|
| 鉴权A | https://cdn.example.com/videos/movie.mp4?token=1721028437-Kv4cPTAAP5YTi-0-0fbdca749d7ab784750685347e42075c |
| 鉴权B | https://cdn.example.com/202407151533/d1f0b51c6894231fc12e054fcc7f0b3e/videos/movie.mp4 |
| 鉴权C | https://cdn.example.com/6688749e8906a726c12fe1be3aacd016/6694d30a/videos/movie.mp4 |
| 鉴权D | https://cdn.example.com/videos/movie.mp4?token=d1f0b51c6894231fc12e054fcc7f0b3e&t=1721028437 |
高安全场景选择鉴权A,适用于付费视频网站、企业机密文档、API接口保护、防重放攻击需求。
SEO优化需求选择鉴权B或C,适用于图片网站博客、新闻媒体网站、电商商品图片、需要搜索引擎收录。
快速部署选择鉴权D,适用于个人博客、小型网站、测试环境、简单防盗链。
国际化应用选择鉴权C,适用于跨时区应用、软件下载站、文档管理系统、标准Unix时间戳。
CDN鉴权是一种访问控制机制,通过在URL中添加特定的鉴权参数,确保只有经过授权的用户才能访问CDN上的资源。它可以有效防止资源被盗链、恶意下载或未授权访问。
腾讯云EdgeOne提供四种不同的鉴权方式,每种都有其特定的应用场景。
鉴权A功能最全面,支持随机字符串和用户ID,安全性最高。
鉴权B路径式,使用人类可读的时间格式,SEO友好。
鉴权C路径式,使用十六进制时间戳,URL最短。
鉴权D最简单,适合快速部署和轻量级应用。
| 参数 | 说明 | 示例 |
|---|---|---|
| timestamp | Unix时间戳(十进制) | 1721028437 |
| rand | 随机字符串(0-100位) | Kv4cPTAAP5YTi |
| uid | 用户ID(通常为0) | 0 |
| md5hash | MD5校验值 | 0fbdca749d7ab784750685347e42075c |
鉴权参数:路径为 /video.mp4,时间戳为 1721028437,随机字符串为 Kv4cPTAAP5YTi,用户ID为 0,密钥为 DvYmqE81E1F9R791H6lmht。
MD5计算:将路径、时间戳、随机字符串、用户ID和密钥按顺序拼接,计算MD5值。
生成Token:将时间戳、随机字符串、用户ID和MD5值用连字符连接。
最终URL:在原始URL后添加token参数。
原始URL: https://example.com/video.mp4
鉴权URL: https://example.com/video.mp4?token=1721028437-Kv4cPTAAP5YTi-0-0fbdca749d7ab784750685347e42075c
格式说明: ?{参数名}={timestamp}-{rand}-{uid}-{md5hash}
| 参数 | 说明 | 示例 |
|---|---|---|
| timestamp | 时间戳(YYYYMMDDHHMM格式) | 202407151533 |
| md5hash | MD5校验值 | d1f0b51c6894231fc12e054fcc7f0b3e |
| 完整路径 | 包含目录结构的完整路径 | /images/photo.jpg |
假设请求 https://www.example.com/foo.jpg 使用鉴权方式B。
获取鉴权参数:路径为 /foo.jpg,时间戳为服务端生成鉴权URL的时间2024年7月15日15:33:50(UTC+8),转换为十进制(YYYYMMDDHHmm)格式的数值为 202407151533,密钥为 DvYmqE81E1F9R791H6lmht。
MD5计算:MD5(密钥 + timestamp + Path)= MD5(DvYmqE81E1F9R791H6lmht202407151533/foo.jpg)= d1f0b51c6894231fc12e054fcc7f0b3e。
客户端请求生成的鉴权URL:https://www.example.com/202407151533/d1f0b51c6894231fc12e054fcc7f0b3e/foo.jpg。
原始URL: https://example.com/images/photo.jpg
鉴权URL: https://example.com/202407151533/d1f0b51c6894231fc12e054fcc7f0b3e/images/photo.jpg
格式说明: /{timestamp}/{md5hash}/{完整路径}
| 参数 | 说明 | 示例 |
|---|---|---|
| md5hash | MD5校验值 | 6688749e8906a726c12fe1be3aacd016 |
| timestamp | Unix时间戳(十六进制) | 6694d30a |
| 完整路径 | 包含目录结构的完整路径 | /docs/manual.pdf |
假设请求 https://www.example.com/docs/manual.pdf 使用鉴权方式C。
获取鉴权参数:路径为 /docs/manual.pdf,时间戳为服务端生成鉴权URL的时间2024年7月15日15:33:50(UTC+8),对应Unix时间戳为 1721028830,转换为十六进制为 6694d31e,密钥为 DvYmqE81E1F9R791H6lmht。
MD5计算:MD5(密钥 + Path + timestamp)= MD5(DvYmqE81E1F9R791H6lmht/docs/manual.pdf6694d31e)= 6688749e8906a726c12fe1be3aacd016。
客户端请求生成的鉴权URL:https://www.example.com/6688749e8906a726c12fe1be3aacd016/6694d31e/docs/manual.pdf。
原始URL: https://example.com/docs/manual.pdf
鉴权URL: https://example.com/6688749e8906a726c12fe1be3aacd016/6694d30a/docs/manual.pdf
格式说明: /{md5hash}/{timestamp}/{完整路径}
| 参数 | 说明 | 示例 |
|---|---|---|
| token | MD5校验值 | d1f0b51c6894231fc12e054fcc7f0b3e |
| t | Unix时间戳(十进制或十六进制) | 1721028437 |
假设请求 https://www.example.com/music.mp3 使用鉴权方式D。
获取鉴权参数:路径为 /music.mp3,时间戳为服务端生成鉴权URL的时间2024年7月15日15:33:50(UTC+8),对应Unix时间戳为 1721028830,密钥为 DvYmqE81E1F9R791H6lmht。
MD5计算:MD5(密钥 + Path + timestamp)= MD5(DvYmqE81E1F9R791H6lmht/music.mp31721028830)= d1f0b51c6894231fc12e054fcc7f0b3e。
客户端请求生成的鉴权URL:https://www.example.com/music.mp3?token=d1f0b51c6894231fc12e054fcc7f0b3e&t=1721028830。
参数配置:token参数名为 token,时间戳参数名为 t,支持自定义参数名。
原始URL: https://example.com/music.mp3
鉴权URL: https://example.com/music.mp3?token=d1f0b51c6894231fc12e054fcc7f0b3e&t=1721028437
格式说明: ?token={md5hash}&t={timestamp}
腾讯云EdgeOne提供的四种鉴权方式各有特色,选择合适的鉴权方式需要综合考虑:
通过合理配置和使用这些鉴权方式,可以有效保护您的CDN资源,提升安全性的同时保证良好的用户体验。