全部產品
Search
文件中心

Object Storage Service:put-bucket-referer

更新時間:Sep 10, 2024

put-bucket-referer用於設定儲存空間(Bucket)層級的防盜鏈(Referer)訪問白名單與黑名單,支援設定是否允許Referer欄位為空白以及是否允許截斷QueryString的請求訪問Object Storage Service。

注意事項

阿里雲帳號預設擁有為Bucket設定防盜鏈訪問黑白名單的許可權。如果您需要通過RAM使用者或者STS的方式進行查看,您必須擁有oss:PutBucketReferer許可權。具體操作,請參見為RAM使用者授權自訂的權限原則

命令格式

ossutil api put-bucket-referer --bucket value --referer-configuration value [flags]

參數

類型

說明

--bucket

string

Bucket的名稱。

--referer-configuration

string

儲存Referer配置內容的容器。

說明

put-bucket-referer命令對應API介面PutBucketReferer。關於API中的具體參數含義,請參見PutBucketReferer

--referer-configuration

--referer-configuration配置選項既支援XML文法也支援JSON文法,當選項值包含file://首碼時,表示從檔案中讀取配置。

  • XML文法:

    <RefererConfiguration>
      <TruncatePath>boolean</TruncatePath>
      <RefererList>
        <Referer>string</Referer>
      </RefererList>
      <RefererBlacklist>
        <Referer>string</Referer>
      </RefererBlacklist>
      <AllowEmptyReferer>boolean</AllowEmptyReferer>
      <AllowTruncateQueryString>boolean</AllowTruncateQueryString>
    </RefererConfiguration>
  • JSON文法:

    {
      "AllowEmptyReferer": boolean,
      "AllowTruncateQueryString": boolean,
      "TruncatePath": boolean,
      "RefererList": {
        "Referer": ["string", ...]
      },
      "RefererBlacklist": {
        "Referer": ["string", ...]
      }
    }
說明

關於支援的全域命令列選項,請參見支援的全域命令列選項

使用樣本

以下樣本展示了如何設定儲存空間examplebucket層級的訪問白名單以及黑名單。

  • 使用XML設定檔,referer-configuration.xml內容如下:

    <?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>
            <Referer>http://www.*.com</Referer>
            <Referer>https://www.?.aliyuncs.com</Referer>
        </RefererList>
        <RefererBlacklist>
            <Referer>http://www.refuse.com</Referer>
            <Referer>https://*.hack.com</Referer>
            <Referer>http://ban.*.com</Referer>
            <Referer>https://www.?.deny.com</Referer>
        </RefererBlacklist>
    </RefererConfiguration>

命令樣本如下:

ossutil api put-bucket-referer --bucket examplebucket --referer-configuration file://referer-configuration.xml
  • 使用JSON設定檔,referer-configuration.json內容如下:

    {
        "AllowEmptyReferer": "false",
        "AllowTruncateQueryString": "true",
        "TruncatePath": "true",
        "RefererList": {
            "Referer": [
                "http://www.aliyun.com",
                "https://www.aliyun.com",
                "http://www.*.com",
                "https://www.?.aliyuncs.com"
            ]
        },
        "RefererBlacklist": {
            "Referer": [
                "http://www.refuse.com",
                "https://*.hack.com",
                "http://ban.*.com",
                "https://www.?.deny.com"
            ]
        }
    }

    命令樣本如下:

    ossutil api put-bucket-referer --bucket examplebucket --referer-configuration file://referer-configuration.json
  • 使用JSON配置參數,命令樣本如下:

    ossutil api put-bucket-referer --bucket examplebucket --referer-configuration "{\"AllowEmptyReferer\":\"false\",\"AllowTruncateQueryString\":\"true\",\"TruncatePath\":\"true\",\"RefererList\":{\"Referer\":[\"http://www.aliyun.com\",\"https://www.aliyun.com\",\"http://www.*.com\",\"https://www.?.aliyuncs.com\"]},\"RefererBlacklist\":{\"Referer\":[\"http://www.refuse.com\",\"https://*.hack.com\",\"http://ban.*.com\",\"https://www.?.deny.com\"]}}"