WordPress 如何利用阿里云OSS做鉴权下载

最近给客户做了一个针对 OSS 鉴权下载的功能(OSS 下载加密)。就是阿里云 OSS 的 bucket 是私…

最近给客户做了一个针对 OSS 鉴权下载的功能(OSS 下载加密)。就是阿里云 OSS 的 bucket 是私密的,为了防止下载链接被盗用,需要结合 erphpdown 插件做鉴权下载。这样就算别人知道了你文件在 OSS 的下载地址(例如:https://2kss.oss-cn-guangzhou.aliyuncs.com/test/erphpdown.zip)也是无法下载的。

当然,下载地址里还是填 OSS 的下载地址,只是在 erphpdown 跳转处理下载逻辑时会自动做鉴权加上参数(例如:https://2kss.oss-cn-guangzhou.aliyuncs.com/test/erphpdown.zip?OSSAccessKeyId=xxxxx&Expires=1644376819&Signature=ooooo)。

代码示例如下:

  1. require ERPHPDOWN_PATH.'/aliyun-oss-php-sdk/autoload.php';
  2. use OSSOssClient;
  3. use OSSCoreOssException;
  4. 
    
  5. $Bucket = "";
  6. $EndPoint = "oss-cn-guangzhou.aliyuncs.com";
  7. $keyname = explode('.aliyuncs.com/', $file)[1];
  8. $region = "cn-guangzhou";
  9. $KeyId = "";
  10. $KeySecret = "";
  11. 
    
  12. try {
  13. $ossClient = new OssClient($KeyId, $KeySecret, $EndPoint);
  14. $presignedUrl = $ossClient->generatePresignedUrl($Bucket, $keyname, strtotime("+5 minutes"));
  15. $presignedUrl = str_replace("http://", "https://", $presignedUrl);
  16. wp_redirect($presignedUrl);
  17. exit;
  18. } catch (OssException $e) {
  19. echo $e->getMessage();
  20. exit;
  21. }
类别:WordPress教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册