Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏Shoutcast流的IP和端口_Javascript_Php_Flash_Shoutcast - Fatal编程技术网

Javascript 隐藏Shoutcast流的IP和端口

Javascript 隐藏Shoutcast流的IP和端口,javascript,php,flash,shoutcast,Javascript,Php,Flash,Shoutcast,我们有一个ShoutCastWebRadio,托管在服务器a上 我们在其他地方的服务器B上也有一个Drupal CMS——这个站点嵌入了Flash播放器,它可以流式传输提要 我们设法从HTML源代码(服务器B)中隐藏流的IP和端口(服务器A),在推送(服务器A的)真正的头位置之前,使用一些脚本测试条件,但是一些浏览器(如Firefox)在联系提要时在状态栏中显示最终流的IP 在每个浏览器上完全隐藏流的IP和端口是否可能 可能从Flash改为HTML5播放器? 或者做一些Htaccess重写???

我们有一个ShoutCastWebRadio,托管在服务器a上

我们在其他地方的服务器B上也有一个Drupal CMS——这个站点嵌入了Flash播放器,它可以流式传输提要

我们设法从HTML源代码(服务器B)中隐藏流的IP和端口(服务器A),在推送(服务器A的)真正的头位置之前,使用一些脚本测试条件,但是一些浏览器(如Firefox)在联系提要时在状态栏中显示最终流的IP

在每个浏览器上完全隐藏流的IP和端口是否可能

可能从Flash改为HTML5播放器?

或者做一些Htaccess重写???

您只能通过在
a
B
之间使用代理来真正隐藏IP,隐藏服务器地址对您没有帮助。即使您将代理放在前面,现在用户也可以简单地连接到代理服务器。您必须提供一个您的客户端可以连接到的端点,而该端点也可以在其他地方使用

您真正想要做的是检查流的请求是否来自您的页面,而不是其他人的页面。SHOUTcast本身不提供此功能

根据播放器的设置方式,您可能只需检查
Referer:
标题即可。通常,这将包含您站点的域。服务器端,您可以检查它是否存在。如果没有,您可以拒绝访问

另一种方法是发出一个会话令牌,该令牌仅适用于一个用户的一次使用。然后可以将其包含在流请求查询字符串中,如
/your/stream?token=0123456789abcdef
。如果您的播放机没有通过
Referer:
标题,您必须这样做,并且还可以用于验证页面外的流。(我知道你现在没有这么做,但当你开始构建移动应用程序时,它可能会派上用场。)

不幸的是,除了我自己的(AudioPump服务器)之外,我不知道有任何HTTP渐进式流媒体服务器软件可以实现这些方法,而且AudioPump服务器目前还不普遍可用。如果您有兴趣尝试,可以联系brad@audiopump.co. 否则,您可能需要为此编写一些自定义代码


如果你在配置上变得狡猾,你也可能会骗着为你做推荐人。不幸的是,SHOUTcast不符合HTTP,因此这可能会使这一点变得困难。

为什么需要隐藏IP地址?为了避免流被窃取并在其他地方播放,我们在播放器周围显示了广告。您需要将实现更改为提供受保护流的内容,例如什么?另一个流媒体服务?是否使用登录/通过进行身份验证?流别名?我只是在这里写下了一些术语,但我不知道太多,这就是为什么我要问……他们对隐藏IP地址并不感兴趣,而是对保护内容的消费方式感兴趣。代理并不能解决这个问题,即使问题的标题是这样要求的。关于检查引用者的部分已经编码好了——但是一旦一个人访问页面一次并通过“合法”的方式获得流,那么像Firefox这样的浏览器也会在状态栏中给出IP和端口,因此流可能被窃取。基本上,这种保护只在第一次监听时有效,之后显示“私有”流数据,并且可以从webradio站点以外的其他地方进行流传输…@ecchymose这不是我的建议。我是说,您需要检查流数据本身的引用。