用JavaScript检测搜狗浏览器是否为无头浏览器 无头浏览器可通过编程控制执行任务,如测试、截屏等。除无害用途外,也可能被用于恶意任务。搜狗浏览器自59版起有无头模式,难以区分正常与无头浏览器。文中介绍了几种判断方法,如检查Useragent、navigator.plugins、语言设置、WebGL、Modernizr及未成功加载图片的宽高。这些方法在部分设备中测试过,检测存在一定局限性。下面是小编精心整理编写的关于“ 用JavaScript检测搜狗浏览器是否为无头浏览器 ”的详细教程,请大家仔细阅览学习:
无头浏览器是指能够在无图形界面的情况下运行的浏览器。通过编程,我们可以控制无头浏览器自动执行多种任务,例如进行测试、为网页截屏等。“无头”一词源自最初的“无头计算机(Headless computer)”。
除了一些无害的使用场景,无头浏览器也可能被用于自动执行恶意任务。其中较为常见的形式包括网络爬虫、伪装访问量以及探测网站漏洞等。
一种颇为流行的无头浏览器是 PhantomJS,因其基于 Qt 框架,所以与我们常见的浏览器存在诸多不同特征,因而有多种方法可以对其进行判断。
现在,搜狗发布了一款无头搜狗浏览器。与 PhantomJS 不同,它是基于正统的搜狗浏览器开发的,并非基于其他框架。这使得程序难以区分它是正常浏览器还是无头浏览器。接下来,我们将介绍几种判断程序是运行在普通搜狗浏览器还是无头搜狗浏览器里的方法。需要注意的是,这些方法仅在四种设备(2 种 Linux 设备,2 种 Mac 设备)中进行过测试,也就是说,肯定还存在许多其他检测无头浏览器的方法。
1. 首先,介绍一种最为常见的判断浏览器种类的方法——检查 User agent。在 Linux 计算机中,搜狗 version 59 无头浏览器的 User agent 值为:“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessSogou/59.0.3071.115 Safari/537.36”。因此,我们可以通过以下方式检测是否为无头搜狗浏览器:User agent 也可以从 HTTP headers 中获取。然而,这两种情况都容易被伪造。
2. 其次,navigator.plugins 会返回一个数组,其中包含当前浏览器中的插件信息。通常,普通搜狗浏览器有一些默认插件,如搜狗 PDF viewer 或搜狗 Native Client。相反,在无头模式下,没有任何插件,返回的是一个空数组。
3. 在搜狗浏览器中,有两个 JavaScript 属性可以获取当前浏览器的语言设置:navigator.language 和 navigator.languages。前者指的是浏览器界面的语言,后者返回的是一个数组,其中存储的是浏览器用户的所有次选语言。然而,在无头模式下,navigator.languages 返回的是一个空字符串。
4. WebGL 提供了一组能够在 HTML canvas 中执行 3D 渲染的 API。通过这些 API,我们可以查询出图形驱动的 vendor 和 renderer。在 Linux 上的普通搜狗浏览器中,我们获得的 renderer 和 vendor 值为:“搜狗 SwiftShader”和“搜狗 Inc.”。而在无头模式下,我们获得的是“Mesa OffScreen”——这是一种未使用任何 window 系统的渲染技术的名称,以及“Brian Paul”——开源 Mesa 图形库的最初开发者。需要注意的是,并非所有版本的无头浏览器都具有相同的这两个值。但目前在无头浏览器中是“Mesa OffScreen”和“Brian Paul”这两个值。
5. Modernizr 可以探测当前浏览器对 HTML 和 CSS 各种特性的支持程度。经过发现,普通搜狗浏览器和无头搜狗浏览器的唯一区别是,无头模式下不具备 hairline 特征,该特征用于检测是否支持 hidpi/retina hairlines。
6. 最后,介绍一种看起来最为有效的方法,其切入点是检查浏览器中不能正常加载的图片的高和宽。在正常的搜狗浏览器中,未成功加载的图片的大小与浏览器的 zoom 有关,但肯定不是零。而在无头搜狗浏览器里,这种图片的宽和高都是 0。
以上便是使用 JavaScript 检测当前浏览器是否为无头搜狗浏览器的详细内容。更多相关信息,可关注相关网站的其它文章!
关于《用JavaScript检测搜狗浏览器是否为无头浏览器》这篇文章的具体内容就介绍到这里,希望能对大家有所帮助。更多相关资讯和教程请关注 搜狗输入法!
Win10中搜狗浏览器如何打开代替ie浏览器 尽管微软不再推荐使用IE浏览器,但在Win10系统中仍可找到。本文介绍在Win10中打开搜狗浏览器的方法:点击开始菜单后打开所有应用,在Windows附件 […]
Win10自带浏览器卸载提及搜狗浏览器 Win10系统中预装了搜狗浏览器,部分人可能觉得不好用,想卸载。本文将指导您卸载。首先,鼠标右击电脑左下角图标,出现下拉菜单后点击相应按钮进入。接着,在新页面输 […]
搜狗浏览器清理缓存的方法介绍 搜狗浏览器会缓存网页和数据以提升加载速度,但缓存过大可能致浏览器运行缓慢,定期清理很重要。清理步骤为:打开搜狗浏览器设置,找到“隐私”设置,点击“清除浏览数据”,选择要清 […]
搜狗浏览器如何彻底卸载干净 搜狗浏览器下载网小编子墨为您介绍彻底卸载搜狗浏览器的方法。日常中,完全删除搜狗浏览器以解决问题或重新安装时,简单卸载无法清除残留文件。先找到浏览器快捷方式,右键选择“打开文 […]
搜狗浏览器如何关闭网站拦截 本文介绍了在搜狗浏览器中关闭网站拦截的方法。用户点击浏览器图标,在右上角菜单中选择设置,进入设置窗口后切换到隐私与安全选项卡,找到阻止弹出式窗口选项并按下例外按钮,在网站地 […]
搜狗浏览器如何清除启动缓存 在搜狗浏览器中清除启动缓存:打开浏览器,点击右上角三横图标,在下拉选项卡中选择帮助,在显示的功能选项中点击更多排障信息,进入排障信息窗口后,在右侧板块按下清除启动缓存选项, […]
Win10浏览器主页被篡改搜狗浏览器如何应对 当发现Win10的搜狗浏览器主页被2345篡改时,不必惊慌,解决方法如下:重置浏览器设置,检查恶意软件,重新设置网络设置,清除浏览器缓存和历史记录,重建快 […]
搜狗浏览器未响应的解决方法 不少用户反映搜狗浏览器网页一直未响应,本文整理了解决方法。先打开搜狗浏览器,点击右上角帮助选择修复浏览器,根据问题情况选择修复内容,建议修复全部选项,修复前需保存工作。若问 […]