阿里云如何防盜鏈

阿里云sdk Github地址:

? ??????https://github.com/aliyun/aliyun-oss-php-sdk/blob/master/README-CN.md

自己安裝:composer require aliyuncs/oss-sdk-php

其他框架自行百度安裝,我是Yii2高級(jí)版。

步驟:

1、將Bucket的權(quán)限設(shè)置為私有讀;在阿里云后臺(tái)操作。

2、 根據(jù)期望的超時(shí)時(shí)間(簽名URL失效的時(shí)間)生成簽名。

下面直接上代碼,key和secret自己換:

/**

* 阿里云防盜鏈地址

* @param $fileName? ? ? ? 這個(gè)是你在阿里云后臺(tái)上傳文件后,他給你的文件名,例如xxx/a.mp4,或者直接在bucket下面,就直接寫a.mp4

* @return string

*/

public static function getFdl($fileName)

{

? ? $accessKeyId = "aaaaaaaaaa";

? ? $accessKeySecret = "bbbbbbbbbbbbb";

? ? // Endpoint以北京為例,其它Region請(qǐng)按實(shí)際情況填寫。

? ? $endpoint = "oss-cn-beijing.aliyuncs.com";

? ? $bucket = "bucket";

? ? try {

? ? ? ? $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);

//這個(gè)是你在阿里云后臺(tái)上傳文件后,他給你的文件名,例如xxx/a.mp4,或者直接在bucket下面,就直接寫a.mp4

? ? ? ? $object = $fileName;#需要簽名的Object? ? ?

? ? ? ? $timeout = 3600 * 3;#期望鏈接失效的時(shí)間,這里表示從代碼運(yùn)行到這一行開始的當(dāng)前時(shí)間往后300秒

? ? ? ? $signedUrl = $ossClient->signUrl($bucket, $object, $timeout);?

? ? ? ? return $signedUrl;

? ? } catch (OssException $e) {

? ? ? ? return $e->getMessage();

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容