如何从页面源隐藏mp3链接

时间:2019-07-07 21:50:29

标签: php hide mp3

我正在寻找一种使用PHP方法隐藏源代码中mp3链接的方法。

我研究了几种较旧的方法,这些方法使我的网站崩溃或根本无法工作。

Hide MP3 full url

https://mlitzinger.com/blog/obfuscating-file-paths-html-audio/

<audio src="/mp3.php?file_id=0"></audio>
<?php
 if (strstr($_SERVER['HTTP_REFERER'], 'mattlitzingermusic.com/music') !== false) {
$track_id = $_GET['file_id'];
$tracks = array(
  '/audio/file_0.mp3',
  '/audio/file_1.mp3',
  '/audio/file_2.mp3',
  '/audio/file_3.mp3'
);
    header('Location: ' . $tracks[$track_id]);
  } else {
    header($_SERVER['SERVER_PROTOCOL'].' 403 Forbidden', true, 403);
    echo '<h1>Forbidden</h1><p>You don\'t have permission to access this 
    file. </p><hr>';
      }

当您在帖子中查看源代码时,我希望它隐藏mp3 URL,以使新手更难以下载。

1 个答案:

答案 0 :(得分:0)

将内容类型设置为“ Content-Type:音频/ mpeg”。然后,您应该能够从/ audio目录中回显音频文件的内容。这将完全避免重定向。我也不会在您的Web服务器上发布/ audio目录,而是将其放在文件系统上的其他位置。有关如何读取和流here的更多详细信息,但是我会使用本地文件而不是基于http的文件,因为您不想公开文件的位置。

要解决混淆问题,您可以尝试使用仅在服务器上可用的密钥对文件名使用加密hash。这样可以防止有人猜测文件名。只要密钥不变,它仍将保持一致,因此,一旦他们有了URL,便可以下载mp3。