Anti-leech 設定
OSS では、使用状況に基づいてサービス料金が徴収されます。OSS のユーザーデータを盗難から守るために、OSS では、HTTP の referrer ヘッダーフィールドに基づいた Anti-leech 策を提供しています。
リファラーホワイトリストの設定
次のコードを使用してリファラーホワイトリストを設定できます。
OSSClient client = new OSSClient(endpoint, accessId, accessKey);
List<String> refererList = new ArrayList<String>();
// Adds referer
refererList.add("http://www.aliyun.com");
refererList.add("http://www.*.com");
refererList.add("http://www.?.aliyuncs.com");
// Allows the referer field to be blank and sets the Bucket Referer List
BucketReferer br = new BucketReferer(true, refererList);
client.setBucketReferer(bucketName, br);
リファラーフィールドでは、ワイルドカード “*“ および “?” がサポートされています。詳細なルール設定については、プロダクトドキュメントの「OSS Anti-leech 保護」を参照してください。
リファラーホワイトリストの取得
// Retrieves the Bucket Referer List
br = client.getBucketReferer(bucketName);
refererList = br.getRefererList();
for (String referer : refererList) {
System.out.println(referer);
}
Sample output results:
http://www.aliyun.com
http://www.*.com"
http://www.?.aliyuncs.com
リファラーホワイトリストのクリア
リファラーホワイトリストは直接クリアできません。前のルールを上書きする場合のみリセットできます。
OSSClient client = new OSSClient(endpoint, accessId, accessKey);
// Allows the referer field and the referer white list name to be blank by default
BucketReferer br = new BucketReferer();
client.setBucketReferer(bucketName, br);