Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Security 是否可以在应用程序级别限制请求域?_Security_Http - Fatal编程技术网

Security 是否可以在应用程序级别限制请求域?

Security 是否可以在应用程序级别限制请求域?,security,http,Security,Http,我想知道一些视频流网站如何限制视频仅在某些域上播放。更一般地说,一些网站如何只响应某些域的请求 我已经查看并看到了可能使用的referer字段,但我知道HTTP头可以被欺骗(可以吗?) 所以我的问题是,这可以在应用程序级别完成吗?例如,我所说的应用程序是指部署在服务器上的web应用程序,而不是网络路由器的操作系统 任何编程语言都可以找到答案。我只是好奇这是怎么做到的 如果有什么不清楚的,请告诉我。或者,您也可以借此机会教我清楚地说明问题所需的知识。这些类型的控件基于原始IP地址。根据IP地址,可

我想知道一些视频流网站如何限制视频仅在某些域上播放。更一般地说,一些网站如何只响应某些域的请求

我已经查看并看到了可能使用的referer字段,但我知道HTTP头可以被欺骗(可以吗?)

所以我的问题是,这可以在应用程序级别完成吗?例如,我所说的应用程序是指部署在服务器上的web应用程序,而不是网络路由器的操作系统

任何编程语言都可以找到答案。我只是好奇这是怎么做到的


如果有什么不清楚的,请告诉我。或者,您也可以借此机会教我清楚地说明问题所需的知识。

这些类型的控件基于原始IP地址。根据IP地址,可以确定国家/地区。查找IP地址需要访问低级协议信息(例如,从套接字)


当您单击从一个站点到另一个站点的链接时,referer头是有意义的,但是使用编程库构建的典型HTTP请求不需要包含此信息。

有关ip信息的HTTP头很有用(因为只有一小部分是伪造的),但不可靠。通常web应用程序都使用web框架,这使您能够轻松访问这些框架

获取源信息的一些方法:

  • 来自ip/tcp网络堆栈本身的原始ip地址:问题是此服务器可见地址必须与实际客户端地址不匹配(可能来自公司代理、匿名代理、大型ISP…)
  • HTTP头,代理应该设置此头来解决上述问题,但它也可能是伪造的,或者许多匿名代理根本没有设置它
  • 除了ip源信息外,您还可以使用机器标识符(一些使用)。例如,多个站点存储此机器标识符并将其存储在flash Cookie中,以便它们可以重新识别召回客户端以阻止它。但同样的情况是:这是不可靠的,可能是伪造的
源问题是,您需要大量的安全复杂性来安全地识别客户端(例如,通过身份验证和基于客户端的证书)但这是一项高难度的工作,并增加了很多可用性问题,所以很多网站都不这么做。大多数情况下,这并不是问题,因为只有一小部分客户在冒充和访问服务器方面投入了一些脑力

是另一回事:它显示用户来自哪个页面。它由浏览器包含。它也不可靠,因为内容可能会被破坏,并且一些客户端根本不包含它(我记得有几个IE浏览器版本跳过了Referer)