我看腾讯云 CDN 、阿里云 CDN ,都有 URL 访问鉴权。但是在我的服务端为 url 添加批量动态的鉴权参数没做出来。
我的网站是 typecho 框架,服务器用宝塔管理。我尝试写一个 typecho 插件来拦截所有的请求并且改写满足条件的 url 。但是没成功。
也尝试使用 php 生成鉴权参数 auth_key ,然后使用 nginx 来重写 url 。
折腾了好几天都是以失败告终。有大佬来指导一下导致怎么实现吗?
在你的服务端为链接添加与时间戳和路径相关的验证参数,客户端拿到有验证参数链接才能访问。
开启本功能后,你需要在服务端为需要鉴权的 URL 添加鉴权参数 auth_key ,否则客户端将无法访问。
这个 auth_key 的格式为:
timestamp-rand-uid-md5hash
其中的参数说明:
参数 说明 timestamp 你希望这个链接失效的时间,Unix 时间戳。比如 2 小时之后的时间戳 rand 随机字符串,1~100 位,支持大小写字母和数字 uid 0 ,或者你网站的用户 Uid (类型为 Int ),这样就可以根据访问链接查找出具体用户 md5hash md5(path-timestamp-rand-uid-密钥) 的计算结果 计算 md5hash
auth_key 的最后一部分是一个 MD5 值,他的计算格式为:
md5(path-timestamp-rand-uid-key)
其中:
参数 说明 path 文件的 path 部分(不含问号及参数),例如 /test/example.jpg timestamp 、rand 、uid 同上表 key 你设置的鉴权密钥
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.