php 伪静态实现m3u8防盗代码
由于 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 程序,并且需要传递三个参数:vid、uid 和 token。
如果请求的是 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 文件,从而实现防盗
原文地址: https://www.cveoy.top/t/topic/fH6q 著作权归作者所有。请勿转载和采集!