Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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
Php 如何基于UA字符串检测基于Chromium的浏览器_Php_Chromium_Server Side_User Agent_Browser Detection - Fatal编程技术网

Php 如何基于UA字符串检测基于Chromium的浏览器

Php 如何基于UA字符串检测基于Chromium的浏览器,php,chromium,server-side,user-agent,browser-detection,Php,Chromium,Server Side,User Agent,Browser Detection,在UA字符串中查找单词“Chrome”是否足以确定浏览器是否基于Chrome?或者是否有基于非铬的浏览器在其UA字符串中使用“Chrome”一词会使这种检测方法无效?用户代理解析不是检测浏览器的可靠方法。只需查看数千个用户代理字符串,它们将所有浏览器字符串混合在一起。主流桌面浏览器通常不会这样做,但许多移动浏览器会这样做,尤其是在Android上。此外,通过用户代理字符串来欺骗它也很简单 比较: curl——用户代理“UserAgentString”http://example.com 在几乎

在UA字符串中查找单词“Chrome”是否足以确定浏览器是否基于Chrome?或者是否有基于非铬的浏览器在其UA字符串中使用“Chrome”一词会使这种检测方法无效?

用户代理解析不是检测浏览器的可靠方法。只需查看数千个用户代理字符串,它们将所有浏览器字符串混合在一起。主流桌面浏览器通常不会这样做,但许多移动浏览器会这样做,尤其是在Android上。此外,通过用户代理字符串来欺骗它也很简单

比较:

curl——用户代理“UserAgentString”http://example.com

在几乎所有情况下,你真正想做的是。然而,这需要JavaScript。但考虑到真实用户使用的浏览器接近100%™ 支持JavaScript并启用它,这仅在边缘情况下是个问题。

考虑到大多数浏览器允许您简单地欺骗UA字符串-这有什么意义?我完全了解功能检测以及为什么它是首选方法。在这种情况下,在将HTML发送到客户端之前,我需要确定浏览器是否基于Chromium(具体来说,是否包括srcset图像的链接预加载标记,目前Chromium浏览器仅支持该标记),除了使用browscap之外,我的回答是空的。