海洋 CMS 播放器防盗链如何开启设置
海洋 CMS 的播放器防盗链不需要改代码,登录后台在「系统 → 系统基本参数 → 播放器设置」里打开防盗链开关、填上自己的域名白名单,保存后清一次缓存就生效了;要真正挡住盗链,还得在 Nginx 里对 m3u8/ts/mp4 再做一层 Referer 校验。
海洋 CMS 播放器防盗链在哪里开?
结论:路径是后台 →「系统 → 系统基本参数 → 播放器设置」,不同版本菜单文字略有差别,可以在后台顶部的搜索框里直接搜「防盗链」定位到该设置项。
进去后你会看到两个关键字段:一个是防盗链开关(开启/关闭),一个是允许域名(白名单)。白名单里填你自己站点的主域名,例如 www.example.com;有多个域名(主站 + 手机站 + 二级域名)时按后台提示的分隔符写成一行,常见写法是 www.example.com|m.example.com。填完点保存,然后到后台的「更新缓存」处清一次缓存,或者手动删除 data/ 下的缓存文件,否则前台播放页仍会走旧配置。
这一步只对海洋 CMS 自己输出的播放页/播放接口生效,也就是别人直接抓走你的 /play/ 播放地址去自己站上播放时会被拦。
播放器防盗链的原理是什么?
结论:主流做法是校验 HTTP 请求头里的 Referer(来源页地址)加上播放密钥签名,Referer 不在白名单里就拒绝或跳转。
浏览器在请求播放资源时会自动带上 Referer,值就是当前页面地址。海洋 CMS 开启防盗链后,播放接口会比对 Referer 的域名是否落在你填的白名单内:不在就返回错误提示或跳回首页。这属于最基础的一层防护,成本低、配置快,缺点是 Referer 头可以被伪造,所以只能挡住"顺手扒代码"的人,挡不住专门写脚本抓取的人。
要和播放密钥配合用。海洋 CMS 的播放地址里通常带一个由站点密钥算出来的参数(时间戳 + 密钥的哈希),密钥泄露就要立刻在后台更换,否则对方可以自己生成合法播放地址,白名单就形同虚设。
开启后怎么验证有没有生效?
结论:用 curl 带不同的 Referer 各请求一次播放资源,白名单域名返回 200,陌生域名应该返回 403 或跳转。
命令可以直接复制:
curl -I -e "https://www.example.com/" https://你的域名/play/xxxx.m3u8
# 站外来源,应返回 403 或被重定向
curl -I -e "https://evil.com/" https://你的域名/play/xxxx.m3u8
如果第二条也是 200,说明后台开关没保存成功、缓存没清,或者播放资源根本没经过 PHP 而是被 Nginx 直接吐给了客户端——这种情况必须下面这一步补上。
Nginx 怎么做第二层加固?
结论:在站点配置里对视频资源后缀加 valid_referers 判断,非法来源直接返回 403,这是不经过 PHP、性能最好的那道墙。
location ~* \.(m3u8|ts|mp4|flv)$ {
valid_referers none blocked server_names *.example.com example.com;
if ($invalid_referer) {
return 403;
}
}
改完执行 nginx -t 校验配置,再 nginx -s reload 生效。参数说明:server_names 放行本站域名,*.example.com 覆盖二级域名,none 放行不带 Referer 的请求,blocked 放行被防火墙或代理抹掉 Referer 的请求。注意 none 一旦去掉,部分手机浏览器、TV 端播放器和 App 内嵌播放会直接黑屏,建议先保留 none,观察一周访问日志再决定是否收紧。
如果你用了 CDN,Referer 校验要在 CDN 控制台同步配一份,否则回源时 Referer 可能已被改写,白名单会误伤正常用户。
开启防盗链要注意什么?
结论:三类流量最容易被误伤——无 Referer 的客户端、CDN 回源、搜索引擎与分享预览,配置前先把它们列进白名单或保留 none。
具体要点:第一,APP 和小程序里的播放器经常不带 Referer,测试时一定要在真机上验证;第二,CDN 回源请求的 Referer 通常是 CDN 节点域名,需要在 valid_referers 里显式加上;第三,防盗链防的是"别人引用",防不住"别人下载",要防下载得靠鉴权 URL(timestamp + 签名)和限速;第四,更换播放密钥后,旧的播放地址会全部失效,站内如果有缓存页面要一起清理。
总结一句:后台开关 + 域名白名单是入门配置,Nginx 的 valid_referers 是真正的拦截层,两者都配上并用 curl 各测一次,才算把海洋 CMS 的播放器防盗链开到位。
原文链接:https://www.gj0.com/thread-790.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。