API 應用防火牆操作

API Token Headers

以下 API 皆需 API Token 相關 Header

  • SKC-RefreshToken

  • SKC-AccessToken

白名單

新增白名單

  • POST /api/v1/user/site/{siteID}/firewall/setting/whitelists

    • 描述:在指定的站點應用防火牆新增白名單

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "data": [
          {
            "ips": [
              "1.1.1.1"
            ],
            "url": "aaa.com",
            "memo": "",
            "methods": {
              "delete": true,
              "get": true,
              "head": true,
              "options": true,
              "patch": true,
              "post": true,
              "put": true
            }
          }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelists
    • Payload

      {
        "data": [
          {
            "ips": [
              "1.1.1.1"
            ],
            "url": "aaa.com",
            "memo": "",
            "methods": {
              "delete": true,
              "get": true,
              "head": true,
              "options": true,
              "patch": true,
              "post": true,
              "put": true
            }
          }
        ]
      }
    • Response

      { "code": 101001 }

獲取白名單ID

  • GET /api/v1/user/site/{siteID}/firewall/setting/whitelists

    • 描述:獲取已建立的白名單規則 ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelists
    • Response

      {
          "code": 101001,
          "data": [
              {
                  "id": 1371,
                  "ips": [
                      "0.0.0.0/0"
                  ],
                  "url": "aaa.com",
                  "methods": {
                      "get": true,
                      "post": false,
                      "put": false,
                      "delete": false,
                      "head": false,
                      "patch": false,
                      "options": false
                  },
                  "memo": ""
              }
          ]
      }

更新白名單

  • PUT /api/v1/user/site/{siteID}/firewall/setting/whitelist

    • 描述:修改已設定的白名單

    • cURL範例

      curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "ips": [
          "0.0.0.0/0"
        ],
        "url": "aaa.com",
        "memo": "",
        "methods": {
          "delete": false,
          "get": true,
          "head": false,
          "options": false,
          "patch": false,
          "post": ture,
          "put": false
        },
        "id": 1371
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelist
    • Response

      { "code": 101001 }

刪除白名單

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/whitelists

    • 描述:透過ID刪除指定的白名單規則

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [1371]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelists
    • Payload

      {
        "ids": [
          1371
        ]
      }
    • Response

      {
          "code": 101001
      }


黑名單

新增黑名單

  • POST /api/v1/user/site/{siteID}/firewall/setting/blacklists

    • 描述:在指定的站點應用防火牆新增黑名單

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "data": [
          {
            "blockType": 1,
            "ips": [
              "0.0.0.0/0"
            ],
            "url": "aaa.com",
            "memo": "",
            "methods": {
              "delete": true,
              "get": true,
              "head": true,
              "options": true,
              "patch": true,
              "post": true,
              "put": true
            }
          }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklists
    • Payload

      {
        "data": [
          {
            "blockType": 1,
            "ips": [
              "0.0.0.0/0"
            ],
            "url": "aaa.com",
            "memo": "",
            "methods": {
              "delete": true,
              "get": true,
              "head": true,
              "options": true,
              "patch": true,
              "post": true,
              "put": true
            }
          }
        ]
      }
    • Response

      { "code": 101001 }
    • 參數說明

      blocktype:1 = DENY
      blocktype:2 = DROP
      blocktype:3 = DROP+黑名單

獲取黑名單ID

  • GET /api/v1/user/site/{siteID}/firewall/setting/blacklists

    • 描述:獲取已建立的黑名單規則 ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklists
    • Response

      {
          "code": 101001,
          "data": [
              {
                  "id": 901,
                  "ips": [
                      "0.0.0.0/0"
                  ],
                  "url": "aaa.com",
                  "methods": {
                      "get": true,
                      "post": false,
                      "put": false,
                      "delete": false,
                      "head": false,
                      "patch": false,
                      "options": false
                  },
                  "memo": "",
                  "blockType": 1
              }
          ]
      }

更新黑名單

  • PUT /api/v1/user/site/{siteID}/firewall/setting/blacklist

    • 描述:修改已設定的黑名單

    • cURL範例

      curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "blockType": 1,
        "ips": [
          "0.0.0.0/0"
        ],
        "url": "bbb.com",
        "memo": "",
        "methods": {
          "delete": false,
          "get": true,
          "head": false,
          "options": false,
          "patch": false,
          "post": false,
          "put": false
        },
        "id": 901
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklist
    • Response

      { "code": 101001 }

刪除黑名單

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/blacklists

    • 描述:透過ID刪除指定的黑名單規則

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [901]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklists
    • Payload

      {
        "ids": [
          901
        ]
      }
    • Response

      {
          "code": 101001
      }

地區設置

新增地區設置

  • POST /api/v1/user/site/{siteID}/firewall/setting/geo

    • 描述:在指定的站點針對設置允許或阻擋來自特定地區的訪問

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "data": [
          {
        "isBlack": true,
        "geoIDs": [
          1,
          66,
          149,
          203,
          245,
          274
        ],
        "urlRegex": "aaa.com",
        "enabled": true,
        "blockType": 1
          }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/geo
    • Payload

      {
        "isBlack": true,
        "geoIDs": [
          1,
          66,
          149,
          203,
          245,
          274
        ],
        "urlRegex": "aaa.com",
        "enabled": true,
        "blockType": 1
      }
    • Response

      { "code": 101001 }
    • 參數說明

      isBlack:False = 白名單 
      geoIDs = 區域、國家代號(查詢方式請參考"查詢Geo ID")
      blocktype:1 = DENY
      blocktype:2 = DROP
      blocktype:3 = DROP+黑名單

查詢Geo ID

  • GET /api/v1/user/geoips

    • 描述:查詢地區限制內各種區域及國家ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/geoips
    • Response

      { "code": 101001 }

獲取地區設置 ID

  • GET /api/v1/user/site/{siteID}/firewall/settings

    • 描述:查詢現有地區設置的ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    • Response

      {
          "code": 101001,
          "data": {
              "geos": [
                  {
                      "isBlack": false,
                      "urlRegex": "aaa.com",
                      "geoIDs": [
                          1
                      ],
                      "blockType": 0,
                      "enabled": true,
                      "id": 261
                  }
              ],
              "frequencies": [],
              "limitReqs": [],
              "userAgents": []
          }
      }

更新地區設置

  • PUT /api/v1/user/site/{siteID}/firewall/setting/geo

    • 描述:修改現有的地區設置

    • cURL範例

      curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "isBlack": true,
        "geoIDs": [
          1
        ],
        "urlRegex": "bbb.com",
        "enabled": true,
        "blockType": 1,
        "id": 263
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/geo
    • Payload

      {
        "isBlack": true,
        "geoIDs": [
          1
        ],
        "urlRegex": "aaa.com",
        "enabled": true,
        "blockType": 1,
        "id": 261
      }
    • Response

      {
          "code": 101001
      }

刪除地區設置

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/geos

    • 描述:修改現有的地區設置

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [261]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/geos
    • Payload

      {
        "ids": [
          261
        ]
      }
    • Response

      {
          "code": 101001
      }

CC防護

新增防cc設置

  • POST /api/v1/user/site/{siteID}/firewall/setting/anticc

    • 描述:在指定的站點設置防cc設置

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "data": [
          {
        "urls": [
          "aaa.com"
        ],
        "frequency": "529psh",
        "protectMode": 1,
        "request": 0,
        "second": 0,
        "partialValidation": true,
        "priority": 0,
        "enabled": true,
        "limitCount": {
          "blackSec": 100,
          "seconds": 60,
          "times": 30,
          "type": 1
        }
      }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticc
    • Payload

      {
        "urls": [
          "aaa.com"
        ],
        "frequency": "529psh",
        "protectMode": 1,
        "request": 0,
        "second": 0,
        "partialValidation": true,
        "priority": 0,
        "enabled": true,
        "limitCount": {
          "blackSec": 100,
          "seconds": 60,
          "times": 30,
          "type": 1
        }
      }
    • Response

      { "code": 101001 }
    • 參數說明

      protectMode:
      1 = 五秒盾
      2 = 驗證碼
      3 = 點擊驗證
      4 = 重定向

獲取防cc設置ID

  • GET /api/v1/user/site/{siteID}/firewall/setting/anticcs

    • 描述:查詢已設置的防cc設置ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticcs
    • Response

      {
          "code": 101001,
          "data": [
              {
                  "id": 812,
                  "frequency": "529psh",
                  "request": 0,
                  "second": 0,
                  "protectMode": 1,
                  "url": "aaa.com",
                  "priority": 0,
                  "partialValidation": true,
                  "limitCount": {
                      "seconds": 0,
                      "times": 0,
                      "blackSec": 0,
                      "type": 0
                  },
                  "enabled": true
              }
          ]
      }

更新防cc設置

  • PUT /api/v1/user/site/{siteID}/firewall/setting/anticcs

    • 描述:修改已設置的防cc設置

    • cURL範例

      curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "data": [
                 {
        "url": "aaa.com",
        "frequency": "529psh",
        "protectMode": 2,
        "request": 0,
        "second": 0,
        "partialValidation": true,
        "priority": 0,
        "enabled": true,
        "limitCount": {
          "seconds": 0,
          "times": 0,
          "blackSec": 0,
          "type": 0
          },
        "id": 812
         }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticcs
    • Payload

      {
        "url": "aaa.com",
        "frequency": "529psh",
        "protectMode": 2,
        "request": 0,
        "second": 0,
        "partialValidation": true,
        "priority": 0,
        "enabled": true,
        "limitCount": {
          "seconds": 0,
          "times": 0,
          "blackSec": 0,
          "type": 0
        },
        "id": 812
      }
      • Response

        {"code":101001}

刪除防cc設置

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/anticcs

    • 描述:刪除現有的地區設置

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [812]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticcs
    • Payload

      {
        "ids": [
          812
        ]
      }
    • Response

      {
          "code": 101001
      }


區域頻率限制

新增區域頻率限制

  • POST /api/v1/user/site/{siteID}/firewall/setting/frequencies

    • 描述:在指定的站點新增區域頻率限制

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "Items": [
          {
            "urlRegex": "bbb.com",
            "blackSec": 600,
            "seconds": 60,
            "times": 30,
            "type": 1,
            "id": 0,
            "enabled": true,
            "priority": 1
          }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/frequencies
    • Payload

      {
        "Items": [
          {
            "urlRegex": "bbb.com",
            "blackSec": 600,
            "seconds": 60,
            "times": 30,
            "type": 1,
            "id": 0,
            "enabled": true,
            "priority": 1
          }
        ]
      }
    • Response

      { "code": 101001 }
    • 參數說明

      type:1 = DENY
      type:2 = DROP
      type:3 = DROP+黑名單

查看區域頻率限制ID

  • GET /api/v1/user/site/{siteID}/firewall/settings

    • 描述:查詢已設定的區域頻率限制ID

    • cURL範例

    • curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    • Response

      {
          "code": 101001,
          "data": {
              "geos": [],
              "frequencies": [
                  {
                      "urlRegex": "aaa.com",
                      "seconds": 60,
                      "times": 30,
                      "blackSec": 600,
                      "type": 1,
                      "enabled": true,
                      "priority": 1,
                      "id": 1029
                  }
              ],
              "limitReqs": [],
              "userAgents": []
          }
      }

更新區域頻率限制

  • PUT /api/v1/user/site/{siteID}/firewall/setting/frequency

    • 描述:修改已設定的區域頻率限制

    • cURL範例

    • curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "urlRegex": "aaa.com",
        "blackSec": 600,
        "seconds": 60,
        "times": 30,
        "type": 2,
        "id": 1029,
        "enabled": true,
        "priority": 1
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/frequency
    • Response

      {
          "code": 101001
      }

刪除區域頻率設置

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/frequencies

    • 描述:刪除現有的地區設置

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [1029]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/frequencies
    • Payload

      {
        "ids": [
          1029
        ]
      }
    • Response

      {
          "code": 101001
      }

秒級頻率限制

新增秒級頻率設置

  • POST /api/v1/user/site/{siteID}/firewall/setting/limitReqs

    • 描述:在指定的站點下新增秒級頻率設置

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "items": [
          {
            "urlRegex": "aaa.com",
            "rate": 5,
            "burst": 1,
            "priority": 1,
            "blackSec": 1,
            "type": 1,
            "enabled": true
          }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/limitReqs
    • Payload

      {
        "items": [
          {
            "urlRegex": "aaa.com",
            "rate": 5,
            "burst": 1,
            "priority": 1,
            "blackSec": 1,
            "type": 1,
            "enabled": true
          }
        ]
      }
    • Response

      { "code": 101001 }
    • 參數說明

      type:1 = DENY
      type:2 = DROP
      type:3 = DROP+黑名單

獲取秒級頻率設置ID

  • GET /api/v1/user/site/{siteID}/firewall/settings

    • 描述:查詢已設定的秒級頻率設置ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    • Response

      {
          "code": 101001,
          "data": {
              "geos": [],
              "frequencies": [],
              "limitReqs": [
                  {
                      "urlRegex": "aaa.com",
                      "rate": 5,
                      "burst": 1,
                      "blackSec": 1,
                      "type": 1,
                      "enabled": true,
                      "priority": 1,
                      "id": 52
                  }
              ],
              "userAgents": []
          }
      }

更新秒級頻率設置

  • PUT /api/v1/user/site/{siteID}/firewall/setting/limitReq

    • 描述:修改已設定的秒級頻率設置

    • cURL範例

      curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
                      "urlRegex": "aaa.com",
                      "rate": 5,
                      "burst": 1,
                      "blackSec": 1,
                      "type": 3,
                      "enabled": true,
                      "priority": 1,
                      "id": 52
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/limitReq
    • Response

      {
          "code": 101001
      }

刪除秒級頻率設置

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/limitReqs

    • 描述:刪除現有的地區設置

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [52]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/limitReqs
    • Payload

      {
        "ids": [
          52
        ]
      }
    • Response

      {
          "code": 101001
      }

User-Agent限制

新增User-Agent限制

  • POST /api/v1/user/site/{siteID}/firewall/setting/userAgents

    • 描述:在指定的站點針對特定User-Agent阻擋

    • cURL範例

      curl --request POST \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "items": [
          {
            "urlRegex": "ccc.com",
            "userAgentRegex": "123",
            "blockType": 1,
            "id": 0,
            "enabled": true
          }
        ]
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/userAgents 
    • Payload

      {
        "items": [
          {
            "urlRegex": "ccc.com",
            "userAgentRegex": "123",
            "blockType": 1,
            "id": 0,
            "enabled": true
          }
        ]
      }
    • Response

      { "code": 101001 }
    • 參數說明

      blockType:1 = DENY
      blockType:2 = DROP
      blockType:3 = DROP+黑名單

查詢User-Agent 限制 ID

  • GET /api/v1/user/site/{siteID}/firewall/settings

    • 描述:查詢已設置的User-Agent 設置ID

    • cURL範例

      curl --request GET \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    • Response

      {
          "code": 101001,
          "data": {
              "geos": [],
              "frequencies": [],
              "limitReqs": [],
              "userAgents": [
                  {
                      "urlRegex": "ccc.com",
                      "userAgentRegex": "123",
                      "blockType": 1,
                      "enabled": true,
                      "id": 919
                  }
              ]
          }
      }

更新User-Agent限制

  • PUT /api/v1/user/site/{siteID}/firewall/setting/userAgent

    • 描述:修改已經設置好User-Agent設置

    • cURL範例

      curl --request PUT \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{
        "urlRegex": "ccc.com",
        "userAgentRegex": "123",
        "blockType": 2,
        "id": 919,
        "enabled": false
      }' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/userAgent
    • Response

      {
          "code": 101001
      }

刪除User-Agent設置

  • DELETE /api/v1/user/site/{siteID}/firewall/setting/userAgents

    • 描述:刪除已設定的user-agent設置

    • cURL範例

      curl --request DELETE \
      --header 'Content-Type: application/json' \
      --header "SKC-RefreshToken: {Your Refresh Token}" \
      --header "SKC-AccessToken: {Your Access Token}" \
      --data '{"ids": [919]}' \
      {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/userAgents
    • Payload

      {
        "ids": [
          919
        ]
      }
    • Response

      {
          "code": 101001
      }

Last updated