ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 隐藏MP3完整网址

2019-05-30 08:16:06  阅读:300  来源: 互联网

标签:php hide mp3 music-player


我有一个使用以下语法链接到歌曲的音乐播放器:

<li><a href="" data-src="http://s3.amazonaws.com/audiojs/02-juicy-r.mp3">title</a></li>

有没有办法让我可以执行服务器端,然后为用户显示(如下所示)?

在搜索时,我碰到了这个…我喜欢有一个外部文件背后有这个数据的想法…像:

<?php
// get-file.php
// call with: http://yoururl.com/path/get-file.php?id=1
$id = (isset($_GET["id"])) ? strval($_GET["id"]) : "1";
// lookup
$url[1] = 'link.mp3';
$url[2] = 'link2.mp3';
header("Location: $url[$id]");
exit;
?>

然后使用:http://yoururl.com/path/get-file.php?id=1作为链接…唯一的问题是,当你输入http://yoururl.com/path/get-file.php?id=1时,用户直接进入文件…是否有任何方法可以禁用该功能……也许是get-file.php本身的一些代码?

解决方法:

好吧,所以我做了一些我很满意的事情……虽然不是很安全,但它确实帮我模糊了一点.

首先,我使用AudioJS播放器播放音乐 – 可以找到:http://kolber.github.com/audiojs/

基本上我做的是:

>而不是使用“data-src”作为我的歌曲的路径我称之为“关键”,这样人们不一定认为这是一条路径.
>我没有使用“my-song-title”作为歌曲的名称,而是将其更改为7364920这样的数字,这样人们就无法在源代码中查找,并以此方式找到网址.
>我在所有“关键”变量之后将“mp3”添加到javascript代码中,这样我就不必在obfusticated链接中声明它.
>我使用了像“./8273019283/”而不是“your-domain.com/8273019283/”这样的相对路径,这样就很难说我正在显示一个网址.
>添加了一个到href的iTunes链接,这样人们可能会对我如何拉动文件感到困惑.

所以,现在我的内联javascript看起来像:

<script type="text/javascript">
        $(function() {
            // Play entire album
            var a = audiojs.createAll({
                trackEnded: function() {
                    var next = $("ul li.playing").next();
                    if (!next.length) next = $("ul li").first();
                    next.addClass("playing").siblings().removeClass("playing");
                    audio.load($("a", next).attr("key") + "mp3");
                    audio.play();
                }
            });
            // Load the first song
            var audio = a[0];
            first = $("ul a").attr("key") + "mp3";
            $("ul li").first().addClass("playing");
            audio.load(first);
            // Load when clicked
            $("ul li").click(function(e) {
                e.preventDefault();
                $(this).addClass("playing").siblings().removeClass("playing");
                audio.load($('a', this).attr('key') + "mp3");
                audio.play();
            });
        });
    </script>

我的链接看起来像:

<a href="<?php $link = 'http://itunes.apple.com/us/album/falling/id504779876?i=504779883&uo=4'; $obfuscatedLink = ""; for ($i=0; $i<strlen($link); $i++){ $obfuscatedLink .= "&#" . ord($link[$i]) . ";"; } echo $obfuscatedLink; ?>" target="itunes_store" key="<?php $link = './8249795872/9273847591.'; $obfuscatedLink = ""; for ($i=0; $i<strlen($link); $i++){ $obfuscatedLink .= "&#" . ord($link[$i]) . ";"; } echo $obfuscatedLink; ?>">Falling</a>

当您在浏览器中加载它并查看源代码时,您将看到:

<a href="&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#105;&#116;&#117;&#110;&#101;&#115;&#46;&#97;&#112;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#47;&#117;&#115;&#47;&#97;&#108;&#98;&#117;&#109;&#47;&#102;&#97;&#108;&#108;&#105;&#110;&#103;&#47;&#105;&#100;&#53;&#48;&#52;&#55;&#55;&#57;&#56;&#55;&#54;&#63;&#105;&#61;&#53;&#48;&#52;&#55;&#55;&#57;&#56;&#56;&#51;&#38;&#117;&#111;&#61;&#52;" target="itunes_store" key="&#46;&#47;&#56;&#50;&#52;&#57;&#55;&#57;&#53;&#56;&#55;&#50;&#47;&#57;&#50;&#55;&#51;&#56;&#52;&#55;&#53;&#57;&#49;&#46;">Falling</a>

然后,当您使用Web Inspector或Firebug时,您将看到:

<a href="http://itunes.apple.com/us/album/falling/id504779876?i=504779883&amp;uo=4" target="itunes_store" key="./8249795872/9273847591.">Falling</a> - *which doesn't completely give the url away

基本上我所做的就是让链接看起来像是某种类型的api-key.很酷的是,您不能直接从视图源复制链接,也不能直接从Web Inspector / Firebug复制链接.它不是万无一失的,绝对可以被打破,但用户必须知道他们在做什么.它让大多数人远离,但仍然允许玩家获得播放歌曲所需的网址:)

*另外,我从Stack Exchange上的某个地方获得了php obfusticate脚本,但不知道在哪里.

标签:php,hide,mp3,music-player
来源: https://codeday.me/bug/20190530/1182701.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有