Object Storage Service (OSS) バケットのリファラーホワイトリストまたはブラックリストを設定します。
リクエスト構文
PUT /?referer HTTP/1.1
日付: GMT日付
Content-Length: ContentLength
Content-Type: application/xml
ホスト: BucketName.oss.aliyuncs.com
権限付与: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
<AllowEmptyReferer>false</AllowEmptyReferer>
<AllowTruncateQueryString>true</AllowTruncateQueryString>
<TruncatePath>true</TruncatePath>
<RefererList>
<Referer>http://www.aliyun.com</Referer>
<Referer>https://www.aliyun.com</Referer>
<リファラー> http:// www.*.com</リファラー>
<リファラー> https:// www.?.aliyuncs.com</リファラー>
</RefererList>
<RefererBlacklist>
<Referer>http://www.refuse.com</Referer>
<リファラー> https:// * .hack.com</リファラー>
<リファラー> http:// ban.*.com</リファラー>
<リファラー> https:// www.?.deny.com</リファラー>
</RefererBlacklist>
</RefererConfiguration>
リクエスト要素
要素 | データ型 | 必須 | 例 | 説明 |
RefererConfiguration | Container | 必須 | N/A | ホットリンク保護設定を格納するコンテナー。 子ノード: AllowEmptyReferer、AllowTruncateQueryString、およびRefererList 親ノード: なし |
AllowEmptyReferer | Enumerated string | 必須 | false | Refererフィールドが空のリクエストを許可するかどうかを指定します。 有効な値:
親ノード: RefererConfiguration |
AllowTruncateQueryString | Enumerated string | 任意 | true | リファラーが一致したときにURLのクエリ文字列を切り捨てるかどうかを指定します。 有効な値:
親ノード: RefererConfiguration |
TruncatePath | Enumerated string | 任意 | true | リファラーが一致したときに、URL内のパスとパスに続く部分を切り捨てるかどうかを指定します。 有効な値:
親ノード: RefererConfiguration |
RefererList | Container | 必須 | N/A | リファラーホワイトリストを格納するコンテナー。 説明 PutBucketReferer操作は、RefererListで指定されたRefererホワイトリストで既存のRefererホワイトリストを上書きします。 Referer要素が含まれないことを指定するRefererListがリクエストで指定されていない場合、PutBucketReferer操作は既存のRefererホワイトリストをクリアします。 親ノード: RefererConfiguration 子ノード: Referer |
RefererBlacklist | Container | 任意 | N/A | リファラーブラックリストを格納するコンテナー。 説明 PutBucketReferer操作は、RefererBlacklistで指定されたRefererブラックリストで既存のRefererブラックリストを上書きします。 Referer要素が含まれないことを指定するRefererBlacklistがリクエストで指定されていない場合、PutBucketReferer操作は既存のRefererブラックリストをクリアします。 親ノード: RefererConfiguration 子ノード: Referer |
リファラー | String | 任意 | http://www.aliyun.com | リファラーホワイトリストまたはブラックリストのアドレス。 親ノード: RefererListまたはRefererBlacklist |
PutBucketReferer操作の一般的なリクエストヘッダー (HostやDateなど) の詳細については、「一般的なリクエストヘッダー」をご参照ください。
レスポンスヘッダー
このリクエストには、共通のレスポンスヘッダーのみが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。
例
リクエストの例
RefererホワイトリストまたはRefererブラックリストを含まないサンプルリクエスト
PUT /?referer HTTP/1.1 ホスト: BucketName.oss.example.com コンテンツ-長さ: 247 日付: 5月4日金曜日2012 03:21:12 GMT 権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZH **** <?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>true</AllowEmptyReferer> <RefererList/> </RefererConfiguration>
Refererホワイトリストのみを含むサンプルリクエスト
PUT /?referer HTTP/1.1 ホスト: BucketName.oss.example.com コンテンツ-長さ: 247 日付: 5月4日金曜日2012 03:21:12 GMT 権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ **** <?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <AllowTruncateQueryString>true</AllowTruncateQueryString> <TruncatePath>true</TruncatePath> <RefererList> <Referer>http://www.aliyun.com</Referer> <Referer>https://www.aliyun.com</Referer> <リファラー> http:// www.*.com</リファラー> <リファラー> https:// www.?.aliyuncs.com</リファラー> </RefererList> </RefererConfiguration>
RefererホワイトリストとRefererブラックリストを含むサンプルリクエスト
PUT /?referer HTTP/1.1 ホスト: BucketName.oss.example.com コンテンツ-長さ: *** 日付: 5月4日金曜日2012 03:21:12 GMT 権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ **** <?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <AllowTruncateQueryString>true</AllowTruncateQueryString> <TruncatePath>true</TruncatePath> <RefererList> <Referer>http://www.aliyun.com</Referer> <Referer>https://www.aliyun.com</Referer> <リファラー> http:// www.*.com</リファラー> <リファラー> https:// www.?.aliyuncs.com</リファラー> </RefererList> <RefererBlacklist> <Referer>http://www.refuse.com</Referer> <リファラー> https:// * .hack.com</リファラー> <リファラー> http:// ban.*.com</リファラー> <リファラー> https:// www.?.deny.com</リファラー> </RefererBlacklist> </RefererConfiguration>
レスポンスの例
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906 ****
日付: 5月4日金曜日2012 03:21:12 GMT
コンテンツ長: 0
接続: キープアライブ
サーバー: AliyunOSS
x-oss-server-time: 110
OSS SDK
次のプログラミング言語のOSS SDKを使用して、PutBucketReferer操作を呼び出すことができます。
エラーコード
エラーコード | HTTPステータスコード | 説明 |
AccessDenied | 403 | PutBucketReferer操作を実行する権限がありません。 PutBucketRefererリクエストを開始できるのは、バケットの所有者だけです。 |
InvalidDigest | 400 | OSSによって計算されたメッセージ本文のContent-MD5値が、リクエストヘッダーのContent-MD5値と一致していません。 Content-MD5のリクエストヘッダーがアップロードされた後、OSSはメッセージ本文に基づいてMD5ハッシュを計算し、計算されたMD5ハッシュがリクエストヘッダーで指定されたContent-MD5値と同じかどうかを確認します。 MD5ハッシュに矛盾がある場合、このエラーコードが返されます。 |
InlineDataTooLarge | 400 | リファラーホワイトリストとブラックリストが20 KBの上限を超えています。 リファラーホワイトリストとブラックリストのエントリを減らします。 |