Warm tip: This article is reproduced from serverfault.com, please click

php-在macOS Big Sur下包含奇怪版本号的用户代理字符串

(php - User agent string containing strange version number under macOS Big Sur)

发布于 2020-11-20 11:59:50

我正在使用macOS Big Sur 11.0.1。

我正在尝试使用以下脚本从用户代理获取操作系统版本:

$ua = $_SERVER['HTTP_USER_AGENT'];
echo "User Agent: $ua"; 

Firefox输出(版本83.0):

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:82.0) Gecko/20100101 Firefox/82.0

Safari(版本14.0.1)的输出:

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15

所以:

  • Firefox报告Mac OS X 10.16
  • Safari报告Mac OS X 10.15.6

Firefox报告的10.16高于最新的Catalina版本10.15.7。因为没有卡塔利娜10.16这可以用来检测“以外的任何最新卡塔利娜更近”。

但是Safari报告的10.15.6是Catalina的实际版本号,因此使用Safari无法检测到Big Sur。

有人知道这是怎么回事吗?

两种浏览器的IMO都应报告11.0.1。

Questioner
Jabberwocky
Viewed
11
halfday 2020-12-01 10:38:43

这是暂时的变化。

“世界上显然还没有为用户代理中的macOS 11.0做好准备。由于网络上令人沮丧的UA嗅探代码,让我们只报告我们当前的发布版本,直到问题解决为止。”

https://bugs.webkit.org/show_bug.cgi?id=216593