更新时间:2025-04-28 11:07:27
相较于IP黑白名单和Referer防盗链等访问控制措施,时间戳防盗链提供了一种更高级的内容保护方案。此方法允许在内容URL中添加鉴权信息,如时间戳和加密字符串。当用户向CDN发起内容请求时,必须附带相应的鉴权信息。CDN将验证这些信息,并根据验证结果决定是否向用户提供所请求的内容,这样可以更有效地防止内容URL被未授权用户获取和使用。
常见的时间戳防盗链架构,涉及三个关键组成部分:客户源站的应用服务器、客户端和CDN节点。

假设需要配置鉴权的URL为:http://example.com/test.jpg,具体鉴权的流程如下:
http://example.com/test.jpg?token=123,并将其响应给用户。
。
生效范围
访问的生效范围,即配置针对哪些请求进行URL鉴权访问控制。这里我们提供如下生效范围供您选择。
| 配置项 | 说明 |
|---|---|
| 所有请求 | 即该访问控制规则,将所有类型的请求都生效。 |
| 仅首页 | 仅针对域名根目录格式的请求生效,比如http://domain/或https://domain/。 |
| 指定文件类型 | 仅对特定类型的文件生效,您可以在左侧选择对应的文件类型,也可以自定义文件类型。对于自定义文件类型,多个文件类型之前请通过分号;分割,例如:jpg;png。 |
| 指定URI | 访问控制仅对指定URI的内容请求生效,这里我们提供两种URI匹配模式,精准匹配和忽略参数匹配。精准匹配:指定完整的URI,包括参数。比如,path/index.html?abc=123。忽略参数匹配:仅填入问号前的路径,无需指定参数。比如,path/index.html。 |
| 指定目录 | 仅对部分目录下的请求进行访问控制,比如,当配置为/file/abc/表示对http://domain/file/abc/*下所有的内容都会生效。注意:目录必须以/作为开头和结尾,只能包含由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合,当有多个目录时,目录间需要进行换行分隔。 |
| URL正则匹配 | 通过正则表达式来控制生效范围。比如*.jpg$代表访问控制将对所有的以jpg结尾的URL生效。 |
进阶范围配置
如上图所示,您还可以通过进阶范围配置,进一步细化规则的生效范围,实现更精准的控制。进阶范围配置的规则将与基础生效范围的规则取交集,最终确定该功能的整体生效范围。您可以从以下参数中选择一个或多个进行组合配置,与基础生效范围形成且的逻辑关系,从而精确地定位目标请求或响应。
| 参数 | 描述 |
|---|---|
| 例外的文件类型 | 用于排除符合条件的常见文件类型,多个文件类型之间用;分隔。 |
| 自定义文件类型 | 您可以根据实际需求,填写自定义的文件类型,多个文件类型之间用;分隔。 |
| 例外的目录 | 填写需要排除的目录路径,路径必须以/开头和结尾,多个目录之间用用;分隔。 |
| 例外的 URL(正则) | 填写正则表达式,用于排除符合条件的URL,例如,.*\.jpg$。 |
| 例外的IP/IP段 | 例如,1.1.1.0/24:1.1.0.1/32。 |
鉴权模式
在CDNetworks的控制台上,您可以选择以下5种URL鉴权模式,这些模式具有不同的鉴权规则。根据您的业务需求,请选择最适合的模式来保护您的资源。关于这五种鉴权模式的具体说明,请参考以下内容:
因为URL鉴权配置相对复杂,为了避免错误的配置对您的线上业务造成影响,建议您先将配置部署到测试环境。确认配置无误后,再将其正式生效至线上环境。关于如何将配置部署到测试环境,请参考教程通过预部署来验证配置是否生效。
此外,您可以使用 CDN 控制台上提供的时间戳防盗链计算器
自动生成 URL 鉴权参数,以验证配置是否符合您的预期。访问文档URL鉴权计算器,获取更多使用细节。