文件地址为httpswwwbaiducomindexm3u8 使用nginx修改成httpswwwbaiducomindexm3u8token=gfklgdfjklj8248&time=1691507413 才可以正常访问 token使用php动态生成 有效期1小时
要实现这个功能,您可以按照以下步骤进行操作:
-
安装配置 Nginx 服务器
-
首先,确保已经安装了 Nginx 服务器。您可以在 https://nginx.org/en/download.html 上找到适合您操作系统的安装方法。
-
安装完成后,打开 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf)。
-
在
http块中添加以下配置,用于处理 m3u8 文件的请求:location /index.m3u8 { if ($arg_token = "") { return 403; # 如果请求没有携带 token 参数,返回 403 Forbidden 错误 } if ($arg_time < 1691507413) { return 403; # 如果请求携带的时间戳小于指定值(1691507413),返回 403 Forbidden 错误 } # 其他验证逻辑... # 如果验证通过,继续处理请求 proxy_pass https://www.baidu.com/index.m3u8; # 将请求代理到原始的 m3u8 地址 }
-
-
使用 PHP 动态生成 token
-
创建一个 PHP 脚本,用于生成 token。例如,可以创建一个名为
generate_token.php的文件,内容如下:<?php $token = 'gfklgdfjklj8248'; $time = time() + 3600; // 设置 token 的有效期为 1 小时 $url = "https://www.baidu.com/index.m3u8?token=$token&time=$time"; header("Location: $url"); exit; ?>
-
-
配置 Nginx 服务器以处理 PHP 文件
-
打开 Nginx 配置文件,并在
http块中添加以下配置,以处理 PHP 文件:location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据您的 PHP 版本和配置进行修改 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
-
-
更新 Nginx 配置以添加 PHP 动态生成的 token
-
打开之前的 Nginx 配置文件,将
/index.m3u8的配置更新为:location /index.m3u8 { if ($arg_token = "") { return 403; # 如果请求没有携带 token 参数,返回 403 Forbidden 错误 } if ($arg_time < 1691507413) { return 403; # 如果请求携带的时间戳小于指定值(1691507413),返回 403 Forbidden 错误 } # 其他验证逻辑... # 如果验证通过,继续处理请求 proxy_pass https://www.baidu.com/index.m3u8?token=$arg_token&time=$arg_time; # 将请求代理到原始的 m3u8 地址,并携带 token 和 time 参数 }
-
-
重启 Nginx 服务器
-
完成以上配置后,保存文件并重新启动 Nginx 服务器,以使配置生效。可以使用以下命令来重启 Nginx:
sudo systemctl restart nginx
-
现在,当您访问 https://www.baidu.com/index.m3u8?token=gfklgdfjklj8248&time=1691507413 时,Nginx 服务器会验证 token 和时间戳,并将请求代理到原始的 m3u8 地址。如果验证通过,您将能够正常访问文件
原文地址: https://www.cveoy.top/t/topic/ixYx 著作权归作者所有。请勿转载和采集!