如何防止基于Flash的MP3播放器播放托管在外部域中的文件?

时间:2013-12-03 10:46:42

标签: apache http url flash

我在我的网站上使用1PixelOut作为flash MP3播放器。 但是我发现通过将浏览器直接指向我网站上的swf文件(例如www.myurl.com/player.swf)并通过get参数 soundFile = 传递外部URL,每个人都可以使用播放器播放外部mp3文件(即不在我的域中托管),没有任何警告或限制。

我没有Flash播放器的来源,因为它是预编译的。我试过与其他swf播放器(例如podango)并且行为是相同的:他们可以播放跨域名的mp3文件。因此,我认为这个问题与flash播放器插件有关。

在本地尝试(例如在我的笔记本电脑中)将浏览器指向swf文件位置并尝试传递 soundFile 参数时,我收到以下安全警告(这是我期望的): Javascript alert when I try to play an external MP3

然而,如果我在我的笔记本电脑中启动本地服务器(在我的情况下是MAMP)并使用浏览器指向与以前完全相同的位置,但使用localhost服务器URL( localhost:8888 / 而不是 file:/// ),我没有得到任何通知也没有警告我可以播放通过URL传递的远程mp3文件直接到swf文件: Playing an remotely hosted mp3 file without any warning。 这与我在网站上的行为相同。

我不明白,为什么我的本地主机中的flash播放器行为存在差异?

如何在不调整服务器配置(例如.htaccess)的情况下防止第二种情况发生?

如果你的服务器上有一个.swf mp3播放器,我不认为这是正常的,每个人都可以使用它来播放播放器所在域外的文件:这是一个潜在的安全问题(许多脚本都在网络使用相同的Flash播放器)

0 个答案:

没有答案