Loading
0

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

最近模板兔给客户做了一个针对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 OSS\OssClient;
use OSS\Core\OssException;

$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;
}

特别声明:1、本站仅提供源码学习下载,使用者需具备一定的技术基础,源码费用仅为站长辛苦整理费,不代表源码自身价值也不包含任何服务,如需完美运营请到官方购买。如需搭建、二开、bug修复等服务需额外收费,如果源码侵犯了您的利益请联系客服处理! 2、用户必须遵守《计算机软件保护条例(2013修订)》第十七条:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此条例,用户从本平台下载的全部源码(软件)仅限学习研究,未经版权归属者授权不得商用,若因商用引起的版权纠纷,一切责任均由使用者自行承担,本平台所属公司及其雇员不承担任何法律责任。本站邮箱:weituiw@qq.com