【发布时间】:2014-06-17 11:51:17
【问题描述】:
我在页面中有一个隐藏的音频元素,我正在动态设置源。我将其设置为带有 GET 请求的 php 页面,该请求根据 GET 参数查找文件。
但是,音频元素在 Chrome 中可以很好地获取 wav 文件,但在 Firefox 中却不行。这是查询和html
<html>
<audio id = "play_wav" controls>
<span id = "set_source">set source</span>
<script>
$('#set_source').on('click', function(){
$('#play_wav').attr('src', 'get_wav.php?fname=playme.wav');
document.getElementById('play_wav').play();
});
</script>
</html>
这里是 get_wav.php
if(isset($_GET['fname])){
$fname = $_GET['fname'];
readfile($fname);
}
因此,这可以在 chrome 中播放流式音频,但不能在 Firefox 中播放。源仍在设置中,只是没有加载。有什么建议吗?
【问题讨论】:
-
sidenote 您可以使用当前的 php 代码进行攻击,例如
get_wav.php?fname=index.php将回显 index.php 文件的源代码。 -
another sidenote 你在
get_waw.php附近的isset()中有语法错误。 -
我知道参数实际上是数据库中的别名。不过谢谢你。这只是为了演示一个问题
标签: javascript php google-chrome firefox audio