我想我可以通过 Javascript 检测浏览器本身内部的 Tor 浏览器吗?

2023-11-25

如果浏览器是 Tor 浏览器,我想禁用我正在构建的网络应用程序的某些功能。我可以在浏览器本身(客户端,而不是服务器端)内部查明浏览器是否是 Tor 浏览器?

我更喜欢一个不发出任何 HTTP 请求来将浏览器的 IP 与 Tor 出口节点进行匹配的解决方案。

背景:在我的例子中,Tor 浏览器会弹出一个对话框,询问用户“Tor 浏览器是否应该允许该网站提取 HTML5 画布图像数据?”,因为 Tor 浏览器表示,画布图像数据可用于唯一标识浏览器。

Update:阅读下面的答案后:也许对我来说最好的解决方案是在服务器端保留 Tor 出口节点列表(最新列表,定期刷新),当浏览器加载页面时,我设置一个变量在一个<script>标签,如果浏览器的IP匹配这样的退出节点:var isProbablyTorBrowser = true。然后,客户端不需要额外的请求或复杂的逻辑。


Tor 浏览器并非设计为无法检测(这是不可能的)。相反,它的设计使所有副本彼此无法区分:您无法严格通过跟踪浏览器从一个站点到另一个站点,或从一次访问到另一个站点的情况。浏览器指纹识别.

这赋予了它自己独特的指纹。截至目前,浏览器

  1. 有一个用户代理Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0
  2. 屏幕分辨率与浏览器窗口尺寸相匹配(特别是尺寸为 1000x800 时)
  3. 时区为“0”(GMT)
  4. 没有插件(navigator.plugins是空的)

可能是TBB浏览器。当 Firefox 的下一个 ESR 版本出现时,用户代理字符串可能会发生变化,最有可能的是Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/38.0.

仅屏幕分辨率/浏览器窗口匹配就可以唯一地识别 TBB:即使在全屏模式下,Firefox 中的窗口高度和屏幕高度之间也存在一像素的差异。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想我可以通过 Javascript 检测浏览器本身内部的 Tor 浏览器吗? 的相关文章

  • 我的附加 SDK 内容脚本如何与网站页面脚本交互?

    在我的 SDK 插件中 我想 调用页面脚本中的函数 导出 读取 获取 写入 设置 或操作页面脚本中的某些变量或属性 将新函数导出到页面脚本中或覆盖页面脚本中的现有函数 或将自定义事件发布到页面脚本可以侦听的页面 我的附加 SDK 内容脚本如
  • MP4 视频无法在 Firefox 上播放

    我有一个小型家庭服务器 可以托管多个项目 其中包括一些 MP4 示例视频 我一直在使用一个简单的
  • 是否可以加载本地版本的 JavaScript 文件而不是服务器版本?

    只是有一个简单的问题要抛出 看看是否有解决方案 假设我无法访问服务器 我加载一个网页 发现他们有一个从子文件夹加载的 Javascript 文件 比方说 scripts js some js 现在 我想在本地对此文件进行更改 并针对整个站点
  • 使用 Firefox 插件发出跨域 ajax 请求

    我对如何在 Firefox 插件中发出跨域 ajax 请求感到有点困惑 LastPass 和 Xmarks 等插件建议你可以做到这一点 但是当我尝试用 google 搜索你是如何做到这一点时 每个人似乎都说你不能 除非用户在 Firefox
  • 如何在 Firefox 插件上使用 jQuery 1.5.2+?

    首先 我创建了一个接收参数并返回 jQuery 的函数 例如 function getjQuery window jquery code window return window jQuery 但后来我收到了一封评论电子邮件 他们告诉我必须
  • 如何在 Javascript 中打开新标签?

    我想在新选项卡中打开我网站的页面 我尝试使用 window open 函数 但似乎不再支持它 这些是我在本地尝试过的一些选项 url localhost 3000 my other page window open url blank OR
  • 如何在 Firefox 中为所有页面元素实现内容转换器?

    我正在尝试将 Internet Explorer 插件移植到 Firefox 但我不确定在哪里可以找到我需要的内容 基本上我需要能够使用特定的 Content Type 标头过滤浏览器接收到的所有内容 我尝试实现一个流转换器 这有效 但仅适
  • 处理多个自动重定向的正确方法是什么?

    我有一个网站 基本上允许客户构建一个包含可配置项目的购物车 用户将选择一个项目 系统会提示他们选择他们想要的第一个选项 然后他们将被发送到第二个步骤 在那里他们选择第二个选项 等等 步骤数和选项数是可变的 因为它们是由客户定义的 通常该项目
  • typekit:在 Firefox 上失败,在 Chrome 和 Safari 上工作

    我可以嵌入一个typekit http typekit com 在 Chrome 和 Safari 上托管字体 但由于某些原因 不在 Firefox 上托管字体 我运行的是FF v9 0 1 但我认为这与版本无关 因为同样的事情发生在FF
  • 如何在浏览器的新选项卡上显示Base64图像?

    我有 Base64 编码图像作为响应 如何使用 js 在浏览器的新选项卡中显示该图像 任何人都可以提出解决方案 谢谢 success function base64Image 假设你要得到一张 GIF 图像 Display a base64
  • PowerShell,如何在现有浏览器选项卡中打开 URL?

    我想制作一个 powershell 脚本 它将 运行 Chrome 打开 google com 网站 停留一段时间 在同一选项卡中从 google com gt bing com 转到 这就是适合我的代码 它运行 Chrome 并在选项卡中
  • 浏览器中的javascript:异步任务执行模型

    我正在尝试集中注意力并了解 javascript 异步在单线程浏览器环境中的工作原理 作为异步 我们可以同时处理计时器和 xhr 请求 现在假设我有类似下面的东西 function doStuff for var i 0 i lt 1000
  • CSS 样式直到刷新才应用

    我有一个具有以下 CSS 样式的网页 该样式覆盖了一些更高级别的样式 pnlActions background image webkit gradient linear left top left bottom from 000 to 0
  • 有没有办法使用 JavaScript 发送 CoAP 命令?

    我只是想知道是否有一种方法可以在浏览器中发送 CoAP 查询 使用 JavaScript 但不能使用 node js Thanks 不幸的是 这不可能直接实现 出于安全原因 Web 浏览器不为 UDP 套接字提供任何 JavaScript
  • 编辑和重播 XHR chrome/firefox 等?

    我一直在寻找一种方法来改变XHR request在我的浏览器中制作 然后再次重播 说我有完整的POST请求在我的浏览器中完成 我唯一想要更改的是一个小值 然后再次播放 直接在浏览器中执行此操作会更容易 更快捷 我用谷歌搜索了一下 但没有找到
  • 如何使用子进程打开新的浏览器选项卡?

    我正在打开一个新的 IE 窗口 subprocess Popen r os environ PROGRAMFILES Internet Explorer IEXPLORE EXE Call URL 当 IE 关闭时这很好 但即使打开它也会生
  • 通过 XSL 查看 XML 到 XHTML 转换中的源代码

    我正在尝试使用 XSL 文件将 XML 文件转换为 XHTML 文件 如何查看转换后输出的XHTML源代码 我目前正在通过 Firefox 查看结果 但我看到的只是 XHTML 文件的渲染版本 我想查看源代码 但是当我转到 查看 gt 页面
  • jQuery mousemove 性能 - 节流事件?

    我们面临着与 mousemove 连接的 jQuery 事件传播性能问题 我们有一个屏幕填充画布 需要跟踪用户是否在其上拖动鼠标 因此我们在该对象上添加了一个鼠标移动侦听器 如下所示 ourCanvas on mousemove funct
  • 重定向并保留我的图标

    我想知道当您单击 facebook 上的链接时 facebook 重定向如何保留其 favicon 并使用 FB favicon 打开新选项卡 我想知道如何实现这一点 它不是 iframe 所以我怎么能做这样的事情 我应该从哪里开始 当重定
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好

随机推荐