让用户在浏览时使用隐身模式而不是正常浏览

Posted

技术标签:

【中文标题】让用户在浏览时使用隐身模式而不是正常浏览【英文标题】:Making users use incognito mode in browsing instead of normal browsing 【发布时间】:2021-12-08 02:35:54 【问题描述】:

我听说 Google 删除了检测隐身浏览的功能,所以我正在寻求其他方法来强制我的用户使用隐身模式而不是正常浏览,以避免在 React JS 中截屏。有没有办法要求用户使用隐身模式来浏览我的网络应用?

【问题讨论】:

【参考方案1】:

我不确定您的用例的实用性,但是是的,这是可能的。我管理的脚本可检测所有浏览器中的隐私浏览窗口(截至 2021 年 10 月)。

https://github.com/Joe12387/detectIncognito

【讨论】:

【参考方案2】:

目前可以在某些浏览器版本中检测隐身模式的使用情况,例如通过feature detection。 Joe Rutkowski 的回答为他的detectIncognito 脚本提供了一个解决方案,该脚本(显然)现在可以工作,他还表示他将尽可能地让它在未来继续工作。

但也请注意,检测“隐身模式”和“隐私浏览”模式等使用的能力被浏览器供应商视为"loop hole" 甚至"bug",他们正在努力解决这个问题。

这是试图为用户提供隐私的浏览器供应商和试图获取尽可能多的用户信息的网站作者之间的战斗。因此,您将不得不“反击”并在当前漏洞关闭时不断发现新的漏洞(或者依靠 Joe Rutkowski 等其他人以及可能的其他人为您做这件事,并定期更新他们的工具)。

例如见“Protecting private browsing in Chrome”:

自 2020 年 7 月起,Chrome 将逐步推出先前宣布的修复程序,以解决网站可用于检测 Chrome 隐身模式会话的漏洞。

或Issue 990592: Chrome 76 can still detect incognito mode via FileSystem API:

在 Chrome 76 中不应检测到隐身模式

【讨论】:

以上是关于让用户在浏览时使用隐身模式而不是正常浏览的主要内容,如果未能解决你的问题,请参考以下文章

使用Chrome浏览器浏览网页时内容无法正常显示怎么办?

是否可以通过用户脚本确定 Chrome 是否处于隐身模式?

以普通+隐身模式打开多个浏览器

chrome有些请求成功却没有preview和response没内容

Python/Selenium 隐身/私人模式

Selenium WebDriver - Chrome - C# - 无法在隐身模式下启动selenium浏览器作为最大化的浏览器