php通过session实现url只能访问一次的问题
问题描述
打算用某个php程序返回m3u8文本,php的url形式为https://xxx.com/test.php?toke...
直接通过浏览器访问,第一次打开正常,第二次打开就显示空白,这是我期望的结果。
但是实际应用的时候,这个php的url是放在js中,由video.js通过ajax访问获取的,那么问题出现了,在引用video.js的网页通过F12查到这个php的url,此时右键选择在浏览器新标签中打开,仍然能看到m3u8文本内容。
问题出现的环境背景及自己尝试过哪些方法
打算用某个php程序返回m3u8文本,url只允许访问一次;
查了原页面和新标签的phpsessionid是一致的。
看到一个类似的问题:https://developer.aliyun.com/...
相关代码
// PHP代码
<?php
session_start();
if (isset($_SESSION['USERTAG']) && $_SESSION['USERTAG'] == $_GET['token']) {
exit();
} else {
$_SESSION['USERTAG'] = $_GET['token'];
$m3u8='m3u8文本内容';
echo $m3u8;
}
?>
你期待的结果是什么?
期望通过F12找到的php url,无法访问;
按照现在的情况,仍然能访问一次,那么用户可以用一些m3u8下载工具获取m3u8的内容。
PS:其他防下载/防盗链的措施当然也会做,考虑这个问题的解决方案的时候,假定没有做其他任何防盗链错误,只通过url地址只允许访问一次来稍微限制下用户直接复制粘贴url到下载工具中下载(当然他们可以在F12里直接复制m3u8文本内容,然后保存文件。。。,起码增加下操作复杂度)。
请指教!谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
先把
isset($_SESSION['USERTAG'])
和$_SESSION['USERTAG']
都打出来,看看通过 ajax 访问和通过浏览器访问,这两个输出的有啥不一样.