我想阻止直接访问我网站上包含音乐的音乐文件夹。(我希望播放音乐,但不要下载)
但我也希望能够在浏览器上播放音乐,我使用.htaccess文件阻止访问,但正因为如此,我无法在浏览器上播放歌曲。
我的.htacces文件看起来像这样。它在音乐文件夹里面。
Order Deny,Allow
Deny from All
<FilesMatch "^$|(index)\.php$">
Allow from All
</FilesMatch>
有没有办法做到这一点,在直接访问文件夹时播放歌曲。
答案 0 :(得分:0)
如果浏览器可以访问数据,根据定义,它是可下载的。但是,我通过以下方法在像你这样的情况下取得了一些成功:
创建一个music.php
文件,它可以完成两件事:
1)检查&time;&#39;的请求,以及
2)使用file_get_contents()
来提供内容(使用正确的内容类型),而不会泄露音乐目录的路径。
请求可能看起来像http://blah.com/music/50/1521342509/j25ia920oj12501
。
/music/
不是目录,而是mod_rewrite
条件/规则(在.htaccess
文件中),将请求发送至music.php
/50/
是实际的歌曲名称1521342509
是音乐请求的unix时间戳...此时间戳后的任何请求可能是用户尝试的几秒钟。j25ia920oj12501
是同一时间戳的哈希值(sha256,在16个字符足够后被截断),以确保时间戳是真实的。这远非万无一失,但完全有效地防止除了最专注/聪明的人以外的所有人下载你的东西。