2010-12-06 96 views
2

我想知道一些视频流媒体网站如何限制只能在特定域上播放的视频。更一般地说,一些网站如何仅响应来自某些域的请求。是否可以在应用程序级别限制请求域?

我已经看了http://en.wikipedia.org/wiki/List_of_HTTP_header_fields,发现可能被使用的引荐领域,但据我所知,HTTP报头是可以被欺骗(可他们?)

所以我的问题是,这可以在应用程序完成水平?就应用而言,我的意思是,例如,部署在服务器上的网络应用程序,而不是网络路由器的操作系统。

任何编程语言都适用于答案。我只是好奇这是如何完成的。

如果有什么不清楚,让我知道。或者你可以用它作为一个机会,教我如何清楚地说明问题。

回答

1

关于IP信息HTTP标头是有帮助的(因为只有一小部分是假的),但不可靠。通常,Web应用程序正在使用Web框架,这使您可以轻松访问这些框架。

获得源信息的一些方法:从IP/TCP网络栈本身

  • 起始IP地址:与它的问题是,这个服务器可见的地址必须不符合实际的客户端地址(可能来自公司代理,匿名代理,大型ISP ......)。
  • HTTP X-Forwarded-For头,代理都应该设置这个头解决上述提到的问题,但它也可以伪造或许多匿名代理不设置它。
  • 除了IP源信息,您还可以使用机器识别(一些使用实例存储本机标识符User-Agent Header。几个网站,并将其存储闪存饼干里面,这样他们就可以重新标识一个回顾客户端来阻止它。但是,同样的故事:这是不可靠的,可以伪造

源问题是,你需要很多的安全的复杂性,以安全地识别客户端(例如,通过身份验证和基于客户端的证书),但是,这是很高的努力,并增加了。很多可用性问题,所以很多网站不这样做。大多数情况下,这不是一个问题,因为只有客户的一小部分是把一些大脑假冒接入服务器。

HTTP Referer是一个不同的东西:它显示了你从哪一页来的用户。它包含在浏览器中。这也是不可靠的,因为内容可能会损坏,有些客户端根本不包括它(我记得几个IE浏览器版本跳过Referer)。

0

这些类型的控件基于始发IP地址。从IP地址可以确定该国家。找出IP地址需要访问低级协议信息(例如来自套接字)。

引荐头让当你点击一个链接从一个网站到另一个意义上说,但有一个编程库建立了一个典型的HTTP请求并不需要包括这一点。

相关问题