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

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

代码示例如下:

require ERPHPDOWN_PATH.'/aliyun-oss-php-sdk/autoload.php';  use OSSOssClient;  use OSSCoreOssException;    $Bucket = "";  $EndPoint = "oss-cn-guangzhou.aliyuncs.com";  $keyname = explode('.aliyuncs.com/', $file)[1];  $region = "cn-guangzhou";  $KeyId = "";  $KeySecret = "";    try {  $ossClient = new OssClient($KeyId, $KeySecret, $EndPoint);  $presignedUrl = $ossClient->generatePresignedUrl($Bucket, $keyname, strtotime("+5 minutes"));  $presignedUrl = str_replace("http://", "https://", $presignedUrl);  wp_redirect($presignedUrl);  exit;  } catch (OssException $e) {  echo $e->getMessage();  exit;  }
www.npspro.cn软师兄
软师兄 » WordPress 如何利用阿里云OSS做鉴权下载
50T免费网盘资源大集合【持续更中~~~~】:点击查看