隐藏或加密文件的网址?

Tek*_*Tek 7 php

大家好,感谢您的时间.我只是想说,即使我在php上没有noobie,我还不知道所有的东西,我仍然缺乏一些能够解决其中一些问题的知识.

我目前的困境是:

我有一个包含用户制作歌曲的数据库,其中包含所有类型的信息,包括所述歌曲的位置.我有它工作的方式是我有一个PHP脚本,回放一个xspf播放列表文件供Flash播放器阅读,无论谁正在浏览歌曲.(最好的部分是玩家不关心它是一个php文件,只要它收到正确的xml格式).

问题是任何人都可以查看源代码(例如发现播放器使用xspf.php?= song_id = 10),php文件将以纯文本格式输出所有内容.我怎样才能隐藏或加密用户的mp3位置,但仍能让玩家正常工作?

我将来也会有用户能够下载曲目,但我想找到隐藏位置的方法,或者如果不是太难产生临时网址?分享你认为最好的解决这个问题的方法.

再次感谢任何回复!

ron*_*ron 5

也许播放器也不关心文件的扩展名.您可以将mp3条目放入播放列表,其中url类似于play.php?songid = some_encoded_value.

然后在play.php中,您必须验证用户是否拥有有效的会话.您还可以记录歌曲(如果生成)可用于访问歌曲的次数 - 设置此1或2?但是根据玩家的行为(断开连接上的多个请求等),这可能不是最安全的想法,但通常应该没问题.

但请注意,想要下载歌曲的高级用户/开发人员仍然可以或多或少地进行黑客攻击.对此的解决方案是将编码到播放器中的歌曲流式传输,其中播放器将解码.

但是后来flash播放器中的解码器算法可以被破译等.

你工作的越多,你就越安全,但绝对安全是不可能的.

编辑:songid方案自然需要一些实际的songid和真实的mp3文件之间的映射表.映射可以在会话存储器中,但最好是在数据库中.play.php文件将使用readfile函数(或类似函数)在输出上输出歌曲.或者,mp3文件也可以二进制blob存储在数据库中.


Kri*_* J. 1

我通过链接到一个 php 脚本来限制对文件的访问,该脚本检查用户是否有权访问该文件,并在用户有权访问该文件时使用readfile()回显该文件。然后,您可以将该文件保存在无法通过 URL 直接访问的目录中。