php通过session实现url只能访问一次的问题

发布于 2022-09-12 00:35:03 字数 1071 浏览 17 评论 0

问题描述

打算用某个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放手` 2022-09-19 00:35:03

先把 isset($_SESSION['USERTAG'])$_SESSION['USERTAG'] 都打出来,看看通过 ajax 访问和通过浏览器访问,这两个输出的有啥不一样.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文