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)。
代码示例如下:
-
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;
-
}
类别:WordPress教程、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!