由于 M3U8 文件是基于 HTTP 协议的,因此可以使用伪静态来实现防盗。以下是一个示例的伪静态实现代码:

# M3U8 防盗
RewriteEngine On
RewriteBase /

# 防止直接访问 M3U8 文件
RewriteCond %{THE_REQUEST} \.m3u8
RewriteRule .* - [F,L]

# 防止直接访问 TS 文件
RewriteCond %{THE_REQUEST} \.ts
RewriteRule .* - [F,L]

# 重写 M3U8 请求地址
RewriteRule ^play/([^/]+)/([^/]+)/([^/]+)\.m3u8$ /play.php?vid=$1&uid=$2&token=$3 [L]

# 重写 TS 请求地址
RewriteRule ^play/([^/]+)/([^/]+)/([^/]+)\.ts$ /play.php?vid=$1&uid=$2&token=$3 [L]

以上代码假设 M3U8 文件和 TS 文件都位于 play 目录下,play.php 是处理请求的 PHP 程序,并且需要传递三个参数:viduidtoken

如果请求的是 M3U8 文件或 TS 文件,将返回 403 Forbidden 状态码。如果请求的是 /play/vid/uid/token.m3u8/play/vid/uid/token.ts,则会被重写为 /play.php?vid=vid&uid=uid&token=token,然后交给 PHP 程序进行处理。

在 PHP 程序中,可以根据 $vid$uid$token 参数来判断是否有权限访问对应的 M3U8 文件或 TS 文件,从而实现防盗

php 伪静态实现m3u8防盗代码

原文地址: https://www.cveoy.top/t/topic/fH6q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录