最近给客户做了一个针对 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 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;
- }
文章标题:WordPress 如何利用阿里云OSS做鉴权下载
文章链接:https://www.wuyanshuo.cn/901.html
更新时间:2022年06月07日
本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:service@wuyanshuo.cn我们将第一时间处理! 资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。 所有资源仅限于参考和学习,版权归原作者所有,更多请阅读无言说网络服务协议。