开发者社区> 问答> 正文

不要header或者url带着的签名

已解决

展开
收起
游客zsgkryx6cvdey 2018-03-29 12:21:30 716 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

       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";

    }

    如果问题还存在,请联系阿里云售后支持

     

    2018-03-31 13:29:40
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载