最新消息:本站所有跳转向bbs.ykit.cn的附件将全面停止,附件已转移到https://www.qingsj.com

PHP实现OSS的签名URL

CDN 有客 1042浏览
1.根据域名本有的access key ID来生成
function Signatureurl(){
$ak="ak";
$sk="sk";
$domain="http://www.a.com/";//图片域名或bucket域名
$expire=time()+3600;
$bucketname="buname";
$file="mulu/1.jpg@100h";//或者"mulu/1.jpg@!样式名"  或者 mulu/1.jpg”
$StringToSign="GET\n\n\n".$expire."\n/".$bucketname."/".$file;
$Sign=base64_encode(hash_hmac("sha1",$StringToSign,$sk,true));
$url=$domain.urlencode($file)."?OSSAccessKeyId=".$ak."&Expires=".$expire."&Signature=".urlencode($Sign);
echo $url."\n";
}

2. 根据临时账户密码安全token获取签名URL,目前只支持bucket源域名及bucket绑定的域名,图片服务域名暂时不支持临时账户ID来签名URL访问
function Signaturestsurl(){
$ak="stsak";
$sk="stssk";
$token="token";
$domain="http://www.a.com/";
$expire=time()+3600;
$bucketname="buname";
$file="mulu/1.jpg";
$StringToSign="GET\n\n\n".$expire."\n/".$bucketname."/".$file."?security-token=".$token;
$Sign=base64_encode(hash_hmac("sha1",$StringToSign,$sk,true));
$url=$domain.urlencode($file)."?OSSAccessKeyId=".$ak."&Expires=".$expire."&Signature=".urlencode($Sign)."&security-token=".urlencode($token);
echo $url."\n";
}

转载请注明:有客帮 » PHP实现OSS的签名URL