gpt4 book ai didi

php - 隐藏 MP3 完整网址

转载 作者:可可西里 更新时间:2023-10-31 22:46:01 24 4
gpt4 key购买 nike

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

<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/

基本上我所做的是:

  1. 我没有使用“data-src”作为我歌曲的路径,而是将其称为“key”,这样人们就不一定会认为这是一条路径。
  2. 我没有使用“my-song-title”作为歌曲名称,而是将其更改为类似 7364920 的数字,这样人们就无法在源代码中查找它并以这种方式找到 url。<
  3. 我在所有“关键”变量之后向 javascript 代码添加了 +“mp3”,这样我就不必在混淆链接中声明它。
  4. 我使用了“./8273019283/”这样的相对路径而不是“your-domain.com/8273019283/”,这样就很难判断我显示的是 url。
  5. 在 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 复制链接。它不是万无一失的,而且肯定会被破坏,但用户必须知道他们在做什么。它让大多数人远离,但仍然允许播放器获得播放歌曲所需的 url :)

*另外,我从 Stack Exchange 的某个地方得到了 php 混淆脚本,只是不确定是从哪里得到的。

关于php - 隐藏 MP3 完整网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com