我在Icecast.But上配置了URL身份验证,HTTP身份验证窗口弹出。
如果身份验证类型是url,则窗口不会弹出。我该怎么做?
<mount type="default">
</mount>
<mount type="normal">
<mount-name>/ices</mount-name>
<public>-1</public>
<authentication type="url">
<option name="listener_add" value="http://localhost/listener-joined.php" />
<option name="listener_remove" value="http://localhost/listener-left.php" />
</authentication>
</mount>我想在我自己预先确定的身份证明。如果我在URL (如底部)中请求文档,当我可以将它包含在数据中,将其发布到listener-Joed.php中时,我就会阅读它。
/stream.ogg&session=xyz
因此,我让URL (例如底部的URL)在用户中请求它,并希望确认id是否已在脚本中的数据库中注册。
/ices&id=hogehoge
发布于 2015-04-10 05:57:10
如基于URL身份验证的正式文档中所述,特别是listener_add部分:
备注:这里的挂载(与start/end选项不同)声明请求的url包括任何查询参数,因此,例如,请求的可以是/stream.ogg&session=xyz,但是请注意,在通过POST传递之前,每个选项数据都是转义的。
然后,您的脚本(listener-Joed.php)必须解释这些数据,如果满足,则返回授权HTTP头,默认情况下为:icecast-auth-user: 1
如果脚本执行而不是,则返回标头(例如,因为不允许id=foobar ),则Icecast服务器将拒绝侦听器连接,其状态代码为401。大多数浏览器和一些玩家随后会弹出一个身份验证对话框。
有一个使此可配置的票据,例如to 403,它不会弹出这样的对话,或者允许重定向30倍。
https://stackoverflow.com/questions/29528411
复制相似问题