文档中心 API文档 修改防盗链配置

修改防盗链配置

更新时间:2022-12-13 14:20:12

适用产品

网页加速、下载分发、全站加速、应用安全加速解决方案、IPv6一体化解决方案、电商安全加速解决方案、金融安全加速解决方案、政企安全加速解决方案、应用安全解决方案、区块链安全加速解决方案、IPv6安全加速解决方案、点播分发、直播分发、移动加速

接口描述

通过接口自助实现修改域名防盗链下IP白名单配置、referer防盗链配置,实现对具体访问IP做白名单或黑名单控制或referer控制。接口url的*可为域名名称或域名id。

  • 调用URL: https://open.chinanetcenter.com/api/config/visitcontrol/*
  • 调用方法:PUT
  • 限制说明:·在中国 加速域名必须已备案完成。 · 加速域名必须不包含如下信息:出售药物和管制刀具类,含有不法言论、信息。 · 视频类加速域名必须有视听许可证;博客论坛或社区类加速域名必须有BBS专项审批资质。 · 接口请求和返回结果接受xml和json格式。

调用频率

单用户调用频率:300/5min

推荐使用 Open API在线调试

Open API在线调试功能提供可视化界面在线调试API、支持生成代码示例、快速检索查看API文档等能力。前往调试

请求参数

Path 参数

参数名称描述
*domain-nameString
需要查询配置的域名或域名id

Body 参数

参数名称描述
*visit-control-rulesList
防盗链配置 注意: 1. 需要取消防盗链配置设置时,可以传入空节点。 2. 表示需要设置防盗链配置时,此项必填
data-idLong
配置多组配置时,具体某组配置的id。data-id可以通过查询接口获取。 注意: a、如果有传data-id,说明指定修改其中一组配置项内容,不需求修改其他组配置内容不需要入参; b、如果入参多组配置,其中有些组配置有传data-id,有些没有传,则有传data-id的表示修改具体某组配置,没有传data-id的表示在原来基础上新增一组配置; c、如果入参都没有传data-id,表示用本次的配置全量覆盖原先配置; d、如果入参没有传任何配置项参数,只传了域名和二级标签,表示清空这个接口对应域名二级服务所有配置; e、如果一组配置没有具体的配置项,则data-id必填,且值为实际存在的data-id,表示清空这个data-id对应配置项的值;不允许一组配置没有具体的配置项也没有data-id。
path-patternString
url匹配模式,支持正则,如果是全部匹配,入参可以配置为:.*
except-path-patternString
例外的url匹配模式,某些URL除外:如abc.jpg,不做防盗链功能 客户入参参考:^https?://[^/]+/.*\.m3u8
custom-patternString
指定常用类型:选择需要防盗链的域名是全部文件还是首页。入参参考值: all:全部文件 homepage:首页
file-typeString
文件类型:指定文件类型进行防盗链设置。 文件类型包括:gif png bmp jpeg jpg html htm shtml mp3 wma flv mp4 wmv zip exe rar css txt ico js swf 如果需要全部类型,则直接传all。多个以分号隔开,all和具体文件类型不能同时配置。
custom-file-typeString
自定义文件类型:在指定文件类型外根据自身需求,填写适当的可识别文件类型。可以搭配file-type使用。如果file-type也有配置,实际生效的文件类型是两个入参的总和
specify-url-patternString
指定URL缓存:根据需求指定url进行防盗链设置 入参不支持含http(s):// 开头的URI格式
directoryString
目录:指定目录进行防盗链设置 输入合法的目录格式。多个以英文分号隔开
except-file-typeString
例外的文件类型:指定不需要进行防盗链功能的文件类型 文件类型包括:gif png bmp jpeg jpg html htm shtml mp3 wma flv mp4 wmv zip exe rar css txt ico js swf 如果需要全部类型,则直接传all。多个以分号隔开,all和具体文件类型不能同时配置 如果file-type=all,except-file-type=all 则表示不匹配任务文件类型
except-custom-file-typeString
例外的自定义文件类型:在指定文件类型外根据自身需求,填写适当的可识别文件类型。可以搭配except-file-type使用。如果except-file-type也有配置,实际生效的文件类型是两个入参的总和
except-directoryString
例外的目录:指定不需要进行进行防盗链设置的目录 输入合法的目录格式。多个以英文分号隔开
control-actionString
控制方向。可选值:403和302 1) 403表示返回特定的错误状态码来拒绝服务(默认方式,状态码可以指定,一般为403)。 2) 302表示返回302 Found的重定向url,重定向的url可以指定。如果传302,rewrite-to必填
rewrite-toString
指定302跳转后的url。如果control-action值为302,此项必填,值需为具体调整的url,不支持正则。如果control-action值为403,此项填不需要输入,值无效
priorityString
表示客户多组重定向内容的优先执行顺序。数字越大,优先级越高。 新增配置项时,不传默认为 10
ip-control-ruleObject
标识IP黑白名单防盗链 注意: 1. 表示一组黑白名单防盗链,一个data-id下只能一组 2. 当传空标签表示清楚例外的IP段配置和禁止的IP段配置。
forbidden-ipsString
禁止的IP段 支持输入IP或IP段,IP段之间用分号(;)隔开,如1.1.1.0/24;2.2.2.2 禁止的IP和例外的IP,只能一个有值
allowed-ipsString
例外的IP段,支持输入IP或IP段,IP段之间用分号(;)隔开,如1.1.1.0/24;2.2.2.2,某些IP例外,不做防盗链
referer-control-ruleObject
标识referer防盗链 注意: 1. 表示一组referer防盗链,一个data-id下只能一组 2. 当传空标签表示清除referer防盗链 3. 合法refer、(合法域名、合法URL)、非法refer、(非法域名、非法URL)这四项,一个data-id下只能配置一个或者都为空 4. 匹配条件一致或者有存在交集的情况下(匹配条件包括URL匹配模式;文件类型;自定义文件类型;目录;指定常用类型;指定url),且控制动作均为禁止时,多条配置不能同时配置<合法refer>或者<合法域名>或者<合法URL>或者(<合法域名>和<合法URL>)
allow-null-refererString
是否允许空referer:合法refer、(合法域名、合法URL)、非法refer、(非法域名、非法URL)这六项任意一项有值,则“是否允许空referer”不能为空;合法refer、(合法域名、合法URL)、非法refer、(非法域名、非法URL)这四项都为空值,则“是否允许空referer”必须为空
valid-refererString
合法referer.可以输入url或域名,支持正则,可以多个,多个以空格隔开
valid-urlString
合法url,输入正确的url格式,不支持正则,可以多个,多个以分号分割。
valid-domainString
合法域名,不支持正则,可以多个,多个以分号分割
invalid-refererString
非法referer,可以输入url或域名,支持正则,可以多个,多个以空格隔开
invalid-urlString
非法url,输入正确的url格式,不支持正则,可以多个,多个以分号分割
invalid-domainString
非法域名,不支持正则,可以多个,多个以分号分割
ua-control-ruleObject
标识UA头防盗链, 注意: 1. 表示一组UA头防盗链,一个data-id下只能一组 2. 当传空标签表示清除UA头防盗链
valid-user-agentsString
允许的客户端,正则匹配,不允许空格,配置多个UA如:Android|iPhone
invalid-user-agentsString
禁止的客户端,正则匹配,不允许空格,配置多个UA如:Android|iPhone
advance-control-rulesObject
配置其他访问控制策略,比如禁止的访客区域,JSON示例: advance-control-rules:{invalid-visitor-region:CN;JP;KR}
invalid-visitor-regionString
禁止的访客区域,多个请用英文分号分隔。注意 1、仅支持iso 3166-1国家二字简称 2、如果有特殊区域配置需求,请联系您的专属。 3、同一组规则里,禁止的访客区域、允许的访客区域,不能同时配
valid-visitor-regionString
允许的访客区域,多个请用英文分号分隔。注意 1、仅支持iso 3166-1国家二字简称 2、如果有特殊区域配置需求,请联系您的专属。 3、同一组规则里,禁止的访客区域、允许的访客区域,不能同时配

返回参数

Body 参数

参数名称描述
http status codeInteger
httpstatus=202;   表示成功调用新增域名接口,可使用header中的x-cnc-request-id查看当前新增域名的部署情况
x-cnc-request-idString
唯一标示的id,用于查询每次请求的任务 (适用全部接口)
locationString
响应信用于访问该域名信息的URL,其中domain-id为我司云平台为该域名生成的唯一标示,其值为字符串。
codeString
错误代码,当HTTPStatus不为202时出现,表示当前请求调用的错误类型
messageString
响应信息,成功时为success

错误码

错误代码(code)描述(message)HTTP状态码语义
InvalidParameterThe request has null config with null data-id, please remove it.400其他属性都为空,dataId不能为空

示例

JSON
XML
JSON
请求示例
复制代码 复制成功
#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/api/config/visitcontrol/123344" \
-X "PUT" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-d '
{
    "visit-control-rules": [{
        "ip-control-rule": {
            "forbidden-ips": "1.2.3.4"
        },
        "priority": 9,
        "control-action": "403",
        "rewrite-to": "",
        "except-directory": "",
        "directory": "/home/",
        "specify-url-pattern": "",
        "custom-file-type": "",
        "path-pattern": "",
        "referer-control-rule": {
            "allow-null-referer": "true",
            "valid-domain": "c.com;d.com",
            "valid-url": "http://b.com"
        },
        "ua-control-rule":{
            "valid-user-agents":"Android|iPhone",
            "invalid-user-agents":""
        }
    }]
}'
返回示例
复制代码 复制成功
HTTP/1.1 202 Accepted
Date: Sun, 05 May 2019 09:08:53 GMT
Content-Type: application/json;charset=utf-8
x-cnc-request-id: 83bbebc7-2c95-47d7
{"message":"success"}
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!