CDN加速

文件禁播

更新时间:2020-07-01 18:59:21

一. 功能简介

    在“内容为王”的视频领域,客户除了想方设法防止自己的内容被盗链或侵权外,还需要特别注意自身对外提供的内容是否触发政策或法律风险,比如涉黄涉恐,或者侵害他人的内容版权。现在很多视频网站都包含UGC/PGC类的视频内容,这些内容主要由终端用户制作上传,视频网站对这些内容的可控性较差,容易触发政策或法律风险。即使客户有上线视频智能鉴定方案来规避黄赌毒内容的传播,也无法保证没漏网之鱼。还有一块特别容易发生的,就是用户上传有版权归属的视频内容,导致客户侵权被人起诉。

    那么,在发现涉黄涉恐或者侵犯他人版权的内容时,如何快速停止非法内容的传播,从而规避政策或法律风险,对客户来说就显得特别重要。网宿立足CDN加速,一直致力于保障客户的服务质量,维护客户的合法利益,为帮助客户快速禁播非法内容,网宿推出了文件禁播功能,客户可以通过SI Web可视化界面或者SI API自助化接口提交相应任务,及时对非法内容进行封禁和解禁。

二. 功能说明

2.1 基本原理

    封禁URL原理:

    客户通过SI Web可视化界面或者SI API自助化接口,传递要封禁的URL到网宿内容管理服务器,网宿内容管理服务器下发封禁任务给CDN节点,CDN节点识别URL并把URL加入到封禁列表中,同时删除对应的缓存文件,后续有用户访问该URL时,CDN节点就直接拒绝用户的请求。

    另外,CDN节点支持对正在响应的合法请求进行检测,一旦发现响应的请求属于封禁URL,将立即掐断本次响应。

    解禁URL原理:

    客户通过SI Web可视化界面或者SI API自助化接口,传递要解禁的URL到网宿内容管理服务器,网宿内容管理服务器下发解禁任务给CDN节点,CDN节点识别URL并把URL从封禁列表中移除,后续有用户访问该URL时,CDN节点就会响应用户的请求。

2.2 业务流程

    封禁URL流程:

2017上半年网络直播景气度上行

图1 文件封禁流程图

    (1)客户通过SI Web可视化界面或者SI API自助化接口,传递要封禁的URL信息给网宿内容管理服务器;

    (2)网宿内容管理服务器下发携带客户URL和封禁信息的封禁任务给CDN节点,CDN节点收到封禁任务后,把URL加入到封禁列表中,同时删除节点缓存的文件;

    (3)用户向CDN节点发起该URL请求,CDN节点查询该URL是否在封禁列表中;

    (4)CDN节点发现该URL在封禁列表中,便拒绝用户的请求。

    解禁URL流程:

2017上半年网络直播景气度上行

图2 文件解禁流程图

    (1)客户通过SI Web可视化界面或者SI API自助化接口,传递要解禁的URL信息给网宿内容管理服务器;

    (2)网宿内容管理服务器下发携带客户URL和解禁信息的解禁任务给CDN节点,CDN节点收到解禁任务后,把URL从封禁列表中移除;

    (3)用户向CDN节点发起该URL请求,CDN节点查询该URL是否在封禁列表中;

    (4)CDN节点发现该URL不在封禁列表中,便回上层获取相应内容;

    (5)源站响应CDN节点的请求;

    (6)CDN节点响应用户的请求,并缓存该文件。

2.3 使用说明

2.3.1 SI Web可视化界面

2017上半年网络直播景气度上行

图3 SI Web配置界面

2.3.2 SI API自助化接口

2.3.2.1 接口功能描述

    某些含敏感信息的URL禁止网民访问,可通过此接口实现屏蔽。如果发现误杀或因其他需要,也可通过此接口恢复URL访问。该接口支持以下功能:

  • 支持批量提交封禁或解禁的URL
  • 支持同时提交封禁和解禁的URL
  • 支持提交中文URL
  • 支持自定义封禁后URL的响应码

2.3.2.2 接口参数说明

表1 文件禁播API接口请求参数说明
参数名称 是否必填 参数说明
deny 要封禁的URL集合,封禁后用户访问该URL时,CDN节点会拒绝用户请求。注:deny和 allow不能同时为空。
allow 要解禁的URL集合,解禁后用户访问该URL时,CDN节点会响应用户请求。注:deny和 allow不能同时为空

2.3.2.3 接口请求示例

\#!/bin/bash

username="{username}" 
-- 客户申请API接口权限时由网宿提供的客户名称,用于API接口鉴权

apiKey="{apiKey}"
-- 客户申请API接口权限时由网宿提供的客户密钥,用于API接口鉴权

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 "http://open.chinanetcenter.com/ccm/BanUrl/DealReceiver" \
-u "$username:$password" \
-H "Date:$date" \
-H "Content-Type:application/json" \
-d'{
   "deny":[
         "http://www.a.com/test/1.mp4",
         "http://www.a.com/test/2.flv"
   ],
-- 需要封禁的URL

   "allow":[
         "http://www.a.com/test/3.mp4",
         "http://www.a.com/test/4.flv"
   ]
-- 需要封禁的URL

}'

三. 使用场景

    适用于客户已知哪些URL存在触发政策或法律风险或被盗链,需要紧急全网屏蔽,从而规避风险或避免带宽突增等应用场景。

四. 注意事项

  • 只支持对在网宿加速的频道的URL进行封禁/解禁。
  • 支持提交http/https协议的URL信息。