博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CDN a,b,c三种鉴权的PHP代码
阅读量:6948 次
发布时间:2019-06-27

本文共 1571 字,大约阅读时间需要 5 分钟。

hot3.png

A鉴权方式的代码

//http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash

//sstring = "URI-Timestamp-rand-uid-PrivateKey" (URI是用户的请求对象相对地址, 如 /Filename)

//HashValue = md5sum(sstring)

function PrivateKeyA(){

                  $time=strtotime("+8 hours");

                  $key="youkey";

                  $domain="";

                  $filename="/mulu/1.jpg";

                  //$sstring = "URI-Timestamp-rand-uid-PrivateKey"

                  $sstring = $filename."-".$time."-0-0-".$key;

                  $md5=md5($sstring);

                  $auth_key="auth_key=".$time."-0-0-".$md5;

                  $url=$domain.$filename."?".$auth_key;

                  echo $url."\n";

}

B鉴权方式的代码

//http://DomainName/timestamp/md5hash/FileName

//timestamp:用户访问时客户源服务器的时间,作为URL的一部分,同时作为计算 md5hash 的一个因子,格式为: YYYYMMDDHHMM ,有效时间1800s

//md5hash:以timestamp、FileName和预先设定好的 PrivateKey 共同做MD5获得的字符串,即 md5(PrivateKey + timestamp + FileName)

function PrivateKeyB(){

                  $time=date("YmdHi");

                  $key="youkey";

                  $domain="";

                  $filename="/mulu/1.jpg";

                  //$sstring = "PrivateKeytimestampFileName"

                  $sstring = $key.$time.$filename;

                  $md5=md5($sstring);

                  $url=$domain.$time."/".$md5.$filename;

                  echo $url."\n";

}

C鉴权方式的代码:

//http://DomainName/{

/}/FileName

//md5hash = md5sum()

//time: 用户访问源服务器时间,取 UNIX 时间,以十六进制数字字符表示。

function PrivateKeyC(){

                  $time2=dechex(time());

                  $key="youkey";

                  $domain="";

                  $filename="/mulu/1.jpg";

                  //$sstring=PrivateKeyFileNametime

                  $sstring=$key.$filename.$time2;

                  $md5=md5($sstring);

                  $url=$domain.$md5."/".$time2.$filename;  

                  echo $url."\n";

}

鉴权错误都是返回 403 

Md5计算类错误:

X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be

时间类报错:

X-Tengine-Error:denied by req auth: expired timestamp=1439469547

转载于:https://my.oschina.net/meng527/blog/509890

你可能感兴趣的文章
我的友情链接
查看>>
WLAN用户上网慢,掉包的问题解析
查看>>
python文本替换工作记录
查看>>
2015/04/18 DRBD
查看>>
图片上传
查看>>
linux chroot命令
查看>>
模板参数---实现容器适配器
查看>>
IOC 在Mvc中的使用
查看>>
我的友情链接
查看>>
ubuntu14.04静态ip地址与动态ip地址配置
查看>>
.md即markdown文件的基本常用编写方法
查看>>
求域控,exchange,数据库,sharepoint服务器的备份方法
查看>>
mysql 导入数据
查看>>
怎样用特征码下载电影?
查看>>
禁用打印机"保留打印的文档"属性的VBS脚本
查看>>
sql server 附加数据库出错代码5120/948原因分析。
查看>>
Linux的文件系统和文件类型
查看>>
MariaDB Parallel Replication 并行复制
查看>>
Linux apache编译安装
查看>>
同步PC和MAC OS X文件夹--arrsync-0.4.1
查看>>