【问题标题】:Is it possible to Detect Real OS name when the User-Agent header is modified修改 User-Agent 标头时是否可以检测真实操作系统名称
【发布时间】:2020-08-09 06:05:24
【问题描述】:

除了查找用户的真实操作系统名称之外,还有其他方法吗?

我需要知道我的客户是否正在更改用户代理标头中的操作系统名称。

【问题讨论】:

  • 答案是否定的,但你真正想做什么?
  • 谢谢。但是没有任何第三方服务或工具(如谷歌分析)来检测用户的操作系统信息吗? @selbie
  • 这不是互联网的运作方式。 你真正想做什么?
  • @selbie 出于安全考虑,我正在尝试保留客户的使用信息和历史记录。
  • 我知道。和我给你的答案一样。 :)

标签: javascript reactjs user-agent


【解决方案1】:

没有。

这样想问题。有两个远程方通过单个通道相互通信。一方发送消息“我的名字是彼得”。现在对方无法验证这些信息的真实性,除非另一个能够通过外部方式验证各方详细信息的权威服务强制前两方进行注册。

不幸的是,Internet 协议被设计为在客户端-服务器领域中运行。这意味着没有强制性的威权政党来规范两个单独政党之间发生的任何特定通信。

信息验证的唯一救星是密码学。有两个它不能应用于所有类型的验证。密码学可以用来克服两将悖论等问题——即验证从一方接收到的信息在通信过程中没有被截获和修改。但是,在当前的 Internet 协议设计中没有可行的解决方案来验证与源自不受目的地控制的域中的源一样基本的信息。

【讨论】:

    【解决方案2】:

    如果客户端运行 Javascript,并且您愿意忍受有些不可靠的结果,您可以detect their browser's features 做出相当有根据的猜测,并在某些情况下推断操作系统(例如,如果您检测到 IE 或 Edge ,很有可能他们正在运行 Windows)。但是,它仍然会被欺骗。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 2015-06-20
      • 1970-01-01
      • 2021-10-26
      相关资源
      最近更新 更多