项目里用了一个第三方的浏览器检测模块,主要粗略判别用了何种浏览器(IE、Chrome、FireFox、Safari、Oprea 等,国内常用的 QQ 浏览器和 360 浏览器都会归类为 Chrome)。但最近接到客服反馈,说有用户的 QQ 浏览器通不过检测。

沟通后,知道客户的 QQ 浏览器是 macOS 版本的,叫做 QQ 浏览器 Lite。

浏览器特性检测不通过,基本判断是 UA (navigator.userAgent) 的匹配出了问题。经过排查发现,QQ 浏览器 Lite 的 UA 是长这样的:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15 QQBrowserLite/1.2.9

发现没有,里面没有 Chrome 标识,却多了个 QQBrowserLite 的标识,源代码里的 ua.toLowerCase().match(/chrome\/([\d.]+)/) 自然就失效了。

我的 UA 检测竟然被 macOS 上的 QQ 浏览器绕过了!相关推荐

  1. 怎样禁止macOS 上的Safari 浏览器自动下载和开启档案?

    在macOS的Safari 浏览器中会有自动下载和开启文档的功能,这就增加了MacOS的安全隐患.如果想让macOS 能更安全,建议将Safari 自动下载档案和自动开启功能关闭.下面我们来看下具体操 ...

  2. 电脑桌面怎么添加HTML,电脑上怎么把浏览器网页添加到桌面

    电脑上怎么把浏览器网页添加到桌面 电脑上我们有时候需要经常打开一个网页时,可以将网页添加到桌面,就可以一键打开了,方便快捷,下面小编介绍一下. 具体如下: 1. 双击打开桌面的[QQ浏览器] 2. 输 ...

  3. macos上的硬盘检测工具_如何在MacOS上使用双镜头面部检测器(DSFD)实现90%以上的精度

    macos上的硬盘检测工具 新程序员指南: (New Programmer's Guide:) 介绍: (Introduction:) This article is for those of us ...

  4. web ua检测_UA Web挑战会议:针对初创公司的SpringIO

    web ua检测 在本周,我在"后端"部分的UA Web挑战会议上发表了讲话. 我在演讲中选择了一个奇怪的话题-"面向初创企业的SpringIO". 结果是什么 ...

  5. docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

    .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...

  6. CodeBlocks:1: 在MacOS上安装20.03

    CodeBlocks是很多ACM同学打比赛所必备的装备,因为很多比赛中会使用这个,由于当前MacOS上只支持到2013的安装包,这篇文章介绍一下CodeBlocks在Mac上的安装当前最新版本2020 ...

  7. Shield——一个防止在macOS上进行进程注入的应用程序

    最近有开发人员开发了一个基于Apple的Endpoint Security框架的应用程序(该应用程序的代码托管在GitHub上),可以防止macOS上的某些进程注入技术.但由于开发人员至今仍然没有获得 ...

  8. macOS上如何应对崩溃问题

    这是前一篇文章 https://blog.csdn.net/LGYXDN/article/details/118215454 的超集. macOS上进程崩溃时生成dump文件 首先确保 /cores  ...

  9. GPU端到端目标检测YOLOV3全过程(上)

    GPU端到端目标检测YOLOV3全过程(上) Basic Parameters: Video: mp4, webM, avi Picture: jpg, png, gif, bmp Text: doc ...

最新文章

  1. 中国互联网+果汁行业商业模式创新与投资机会深度研究报告
  2. VirtualBox6.0中CentOS7.6 网络配置
  3. 判断一个数是不是2的指数幂
  4. 为 GridView 添加一列单选按钮50
  5. 【Rsyslog】Ubuntu 升级rsyslog
  6. php数组只保留键值,php合并数组并保留键值的实现方法
  7. (Pwn)CTF工具 ROPgadget 的安装与使用介绍
  8. POJ 3104 Drying【二分搜索】最大化最小值问题
  9. typora 公式_如何用Typora写Markdown上传至知乎
  10. 网络安全用python吗_使用Python进行网络安全渗透——密码攻击测试器
  11. buffer正确的拼接方式
  12. “云闪付”玩转象山影视城 银联商务助力智慧景区建设
  13. 【雕爷学编程】Arduino动手做(71)---红外遥控扩展模块
  14. About Paraview
  15. 华为HG8245光纤猫获得超级用户密码
  16. C++实现通讯录管理系统
  17. element.style样式如何修改
  18. Basic grammar of Python day2
  19. 客户旅行地图教程 - 带15个示例
  20. 鸿蒙系统深度解读(三)

热门文章

  1. 【FFH】啃论文俱乐部---JSON压缩算法解读
  2. 使用 Java DB (Derby) 数据库
  3. 打不开计算机组的打印机,添加打印机时设备和打印机窗口打不开怎么办
  4. 14、mysql底层知识进阶-MySql中常用工具:mysqladmin、mysqlbinlog、mysqldump、mysqlimport、mysqlshow
  5. 模拟高并发测试的几种方式
  6. OpenCV学习笔记--第一个OpenCV程序:图片读写显示
  7. 史上最全的微信开放平台对接教程(附完整源代码,Github开源)
  8. Elementui实现省市县三级联动
  9. 分享一个http请求工具类,超好用。
  10. Myeclipse中英文转换方法