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

最近给客户做了一个针对 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 OSS\OssClient;
  3. use OSS\Core\OssException;
  4. $Bucket = "";
  5. $EndPoint = "oss-cn-guangzhou.aliyuncs.com";
  6. $keyname = explode('.aliyuncs.com/', $file)[1];
  7. $region = "cn-guangzhou";
  8. $KeyId = "";
  9. $KeySecret = "";
  10. try {
  11. $ossClient = new OssClient($KeyId, $KeySecret, $EndPoint);
  12. $presignedUrl = $ossClient->generatePresignedUrl($Bucket, $keyname, strtotime("+5 minutes"));
  13. $presignedUrl = str_replace("http://", "https://", $presignedUrl);
  14. wp_redirect($presignedUrl);
  15. exit;
  16. } catch (OssException $e) {
  17. echo $e->getMessage();
  18. exit;
  19. }

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

System Dashboard 收集WordPress 相关信息插件

2022-6-6 23:10:37

WordPress教程

WordPress 解决发布文章ID不连续的方法

2022-6-7 5:06:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索