OSS是按使用收費的服務,為了防止使用者在OSS上的資料被其他人盜鏈,OSS支援基於HTTP header中表頭欄位referer的防盜鏈方法。更多OSS防盜鏈請參考:OSS防盜鏈
設定Referer白名單
通過putBucketReferer
設定Referer白名單:
let OSS = require('ali-oss')
let client = new OSS({
region: '<Your region>'
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: '<Your bucket name>'
});
async function putBucketReferer () {
try {
let result = await client.putBucketReferer('bucket-name', 'region', true, [
'my-domain.com',
'*.example.com'
]);
console.log(result);
} catch (e) {
console.log(e);
}
}
putBucketReferer();
查看Referer白名單
通過getBucketReferer
查看Referer白名單:
let OSS = require('ali-oss')
let client = new OSS({
region: '<Your region>'
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: '<Your bucket name>'
});
async function getBucketReferer () {
try {
let result = await client.getBucketReferer('bucket-name', 'region');
console.log(result);
} catch (e) {
console.log(e);
}
}
getBucketReferer();
清空Referer白名單
通過deleteBucketReferer
設定清空Referer白名單:
let OSS = require('ali-oss')
let client = new OSS({
region: '<Your region>'
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>',
bucket: '<Your bucket name>'
});
async function deleteBucketReferer () {
try {
let result = await client.deleteBucketReferer('bucket-name', 'region');
console.log(result);
} catch (e) {
console.log(e);
}
}
deleteBucketReferer();