gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 16:39:35 24 4
gpt4 key购买 nike

我想知道一些视频流媒体网站如何限制视频只能在特定域上播放。更一般地说,一些网站如何只响应来自特定域的请求。

我看过http://en.wikipedia.org/wiki/List_of_HTTP_header_fields并看到了可能使用的引用字段,但我知道 HTTP header 可以被欺骗(可以吗?)

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

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

如果有什么不清楚的,请告诉我。或者,您可以借此机会教我需要了解的内容,以便清楚地说明问题。

最佳答案

关于 ip 信息的 HTTP header 很有用(因为只有一小部分是伪造的)但不可靠。通常网络应用程序使用网络框架,这使您可以轻松访问这些内容。

获取源信息的一些方法:

  • 从 ip/tcp 网络堆栈本身生成 ip 地址:问题是这个服务器可见地址必须与真实客户端地址不匹配(它可能来自公司代理、匿名代理、大型 ISP.. . ).
  • HTTP X-Forwarded-For header ,代理应该设置这个 header 来解决上面提到的问题,但它也可以被伪造或者许多匿名代理根本不设置它。
  • 除了 ip 源信息之外,您还可以使用机器标识符(有些使用 User-Agent Header 。例如,一些站点存储此机器标识符并将其存储在 flash cookie 中,因此他们可以重新识别召回客户端以阻止它。但是同样的故事:这是不可靠的,可以伪造。

问题的根源在于您需要大量的安全复杂性来安全地识别客户端(例如通过身份验证和基于客户端的证书)。但这是一项高强度的工作,并且增加了很多可用性问题,因此许多网站不这样做。大多数情况下,这不是问题,因为只有一小部分客户端会动脑筋伪造和访问服务器。

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

关于security - 是否可以在应用程序级别限制请求域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4368559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com