Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Javascript 修改用户代理标头时是否可以检测真实的操作系统名称_Javascript_Reactjs_User Agent - Fatal编程技术网

Javascript 修改用户代理标头时是否可以检测真实的操作系统名称

Javascript 修改用户代理标头时是否可以检测真实的操作系统名称,javascript,reactjs,user-agent,Javascript,Reactjs,User Agent,除了查找用户的真实操作系统名称之外,还有其他方法吗 我需要知道我的客户端是否正在更改用户代理标题中的操作系统名称。否 这样想问题。有两个远程方通过单个通道相互通信。一方发送信息“我叫彼得”。现在,另一方无法核实这些信息的真实性,除非另一个能够通过外部手段核实双方详情的权威机构强制要求前两方进行登记 不幸的是,Internet协议设计为在客户机-服务器领域中运行。这意味着没有强制性的极权政党来管理两个独立政党之间发生的任何特定沟通 信息验证的唯一救星是密码学。有两种方法不能应用于所有类型的验证。密

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

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

这样想问题。有两个远程方通过单个通道相互通信。一方发送信息“我叫彼得”。现在,另一方无法核实这些信息的真实性,除非另一个能够通过外部手段核实双方详情的权威机构强制要求前两方进行登记

不幸的是,Internet协议设计为在客户机-服务器领域中运行。这意味着没有强制性的极权政党来管理两个独立政党之间发生的任何特定沟通


信息验证的唯一救星是密码学。有两种方法不能应用于所有类型的验证。密码学可以用来克服诸如“两将军悖论”之类的问题,即验证从一方收到的信息在通信过程中没有被截获和修改。但是,在当前的互联网协议设计中,没有可行的解决方案来验证信息是否像来源于目的地无法控制的域中的信息那样重要。

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

答案是否定的,但你真正想做什么?谢谢。但难道没有任何第三方服务或工具(如谷歌分析)来检测用户的操作系统信息吗@塞尔比:互联网不是这样运作的。你到底想做什么?@selbie我想保留我客户的使用信息和历史记录,以防安全问题。我知道。与我给你的答案相同。:)