我想知道一些视频流网站如何限制只在某些域上播放的视频。更一般地说,某些网站如何仅响应来自某些域的请求。
我查看了http://en.wikipedia.org/wiki/List_of_HTTP_header_fields并看到了可能使用的引荐来源字段,但我知道HTTP标头可能会被欺骗(可以吗?)
所以我的问题是,这可以在应用程序级别完成吗?根据应用程序,我的意思是,例如,部署在服务器上的Web应用程序,而不是网络路由器的操作系统。
任何编程语言都可以用于答案。我只是好奇这是怎么做的。
如果有什么不清楚,请告诉我。或者您可以利用它作为一个机会,教我如何清楚地指出问题。
答案 0 :(得分:1)
关于ip信息的HTTP标头是有帮助的(因为只有一小部分是伪造的)但是不可靠。通常,Web应用程序使用Web框架,这使您可以轻松访问这些框架。
获取源信息的一些方法:
源问题是您需要很多安全复杂性来安全地识别客户端(例如,通过身份验证和基于客户端的证书)。但这是很大的努力并且增加了很多可用性问题,因此很多站点都没有这样做。大多数情况下,这不是一个问题,因为只有一小部分客户正在绞尽脑汁伪造和访问服务器。
HTTP Referer是另一回事:它向您显示用户来自哪个页面。它包含在浏览器中。它也是不可靠的,因为内容可能已损坏而且有些客户端根本不包含它(我记得有几个IE浏览器版本正在跳过Referer)。
答案 1 :(得分:0)
这些类型的控件基于原始IP地址。从IP地址,可以确定国家/地区。找出IP地址需要访问低级协议信息(例如,从套接字)。
当您单击从一个站点到另一个站点的链接时,referrer标头是有意义的,但使用编程库构建的典型HTTP请求不需要包含此链接。