我根本不是PHP大师,但几年前我是一名前端网页设计师。我创建了一个使用this音频播放器播放MP3的页面。我想阻止用户直接下载MP3文件,所以我将它们放在文档根目录之外,并使用this脚本使用PHP加载文件。问题是任何人都可以输入脚本用来将文件调用到浏览器中以下载MP3的URL。
我尝试在调用MP3的PHP页面上放置一个变量,然后告诉文件调用脚本,如果变量不匹配,则将用户重定向回主页。因此,如果用户将脚本用于将文件调用到浏览器中的URL,则他们将重定向回主页。重定向有效,但带有实际变量的PHP页面似乎不允许PHP脚本在变量存在时调用MP3。
还有更好的方法吗?我非常非常熟悉PHP。
答案 0 :(得分:0)
您需要某种用户身份验证。
例如,您可以为用户(具有用户名或ID)生成随机令牌(复杂的),并使用户根据歌曲的请求发送其令牌和ID。
在执行mp3流式处理的代码之前,检查令牌和ID的组合是否匹配,实际上它是否存在于数据库中。如果是这样,您可以继续播放mp3的流式传输/下载。