文件地址为httpswwwbaiducomindexm3u8 使用nginx修改成httpswwwbaiducomindexm3u8token=gfklgdfjklj8248&time=1691507413 才可以正常访问 token使用php动态生成 链接有效期1小时
要实现这个功能,你需要进行以下步骤:
- 配置Nginx服务器以处理M3U8文件的请求,并支持重写URL。你可以在Nginx配置文件中添加以下代码段:
location /index.m3u8 {
if ($args ~* "^token=(.*)&time=(.*)$") {
set $token $1;
set $time $2;
}
if ($time < 1691507413) {
return 403;
}
# 在这里添加生成token的PHP代码
set $generated_token 'your_generated_token';
if ($token != $generated_token) {
return 403;
}
# 处理真实的M3U8请求
proxy_pass https://www.baidu.com/index.m3u8;
}
- 在上述Nginx配置中的
# 在这里添加生成token的PHP代码的位置,你需要添加PHP代码来生成token和有效期。以下是一个简单的示例:
<?php
$secret_key = 'your_secret_key';
$token_lifetime = 3600; // 1小时
$token = md5($secret_key . $_SERVER['REQUEST_TIME']);
$expire_time = $_SERVER['REQUEST_TIME'] + $token_lifetime;
echo '<script>window.location.href = "https://www.baidu.com/index.m3u8?token='.$token.'&time='.$expire_time.'";</script>';
?>
- 以上代码将生成一个带有token和有效期的JavaScript重定向页面。当用户访问
https://www.baidu.com/index.m3u8时,Nginx将重定向到生成的JavaScript页面,该页面将重定向到https://www.baidu.com/index.m3u8?token=gfklgdfjklj8248&time=1691507413或类似的URL。
这样,用户只有在请求URL中提供正确的token并且在有效期内,才能访问M3U8文件。否则,Nginx将返回403 Forbidden错误
原文地址: https://www.cveoy.top/t/topic/ixYA 著作权归作者所有。请勿转载和采集!