我可以在整个系统范围内阻止 HTML 元素吗?

我可以在整个系统范围内阻止 HTML 元素吗?

我知道有一个 hosts 文件可以让我阻止整个域。

0.0.0.0 blockthissite.net
::      blockthssite.net

我想阻止某个网站的特定元素。

我今天可以使用各种广告拦截工具(如 uBlock Origin)来实现这一点。它只适用于我为广告拦截工具设置规则的浏览器,即便如此,有人也很容易通过禁用扩展来绕过规则。

是否有一个 hosts 文件或其他系统范围的东西可以帮助我阻止 Mac 上的 HTML 元素?

例如,我想阻止每个浏览器访问这个热门网站的页脚页。

www.amazon.com###navFooter

我想在单台计算机上管理它。我有一个 pi hole,但它只适用于域,没有关于 html 元素的信息。至于为什么这是一个问题,我想在各个浏览器中一致地阻止某些 html 元素

答案1

嗯,有一个解决方案,但它很繁琐,并且在任何情况下可能都不起作用。

值得注意的是,如果您使用能够对 html 进行基于正则表达式替换的代理,您就可以做到这一点。过去,我们在反向代理情况下使用 Apache 中的 mod_proxy_html 来处理此类事情。另一种软件是 Portswigger 的 Burp - 它具有正则表达式替换功能,可以将其限制为某些内容类型,它会拼接 SSL... 通过代理路由您的 HTTP 流量将为其后面的所有浏览器解决您的问题。

话虽如此,请注意:

  • 由于使用正则表达式遍历 HTML 字符串需要 CPU,因此性能会有所下降
  • 正则表达式必须非常“稳定”,才能应对相同内容的 HTML 变化
  • 替换需要确保不破坏周围的 HTML
  • 对于 SSL 目标,代理需要拼接 SSL 连接;这要求浏览器配置“CA”证书,代理使用该证书动态创建证书(例如 Burp 所做的那样);显然,这会引起一些隐私问题,您必须自行评估

所以你已经被警告了..

答案2

正如大多数人已经提到的那样,如果不使用代理服务器,就不可能在系统范围内阻止 HTML 元素(在所有浏览器中)(这将导致性能和可靠性问题,以及 SSL 网站的安全问题),我的回答涉及问题的第二部分 -

它只在我为广告拦截工具设置了规则的浏览器上起作用,即便如此,某些人也可以通过禁用扩展程序轻松绕过规则。

许多浏览器允许您强制为操作系统中的所有用户配置文件以及浏览器中创建的所有配置文件安装扩展。

Firefox ESR/企业版

(因为你的问题标签是firefox

  1. 您可以关注这篇知识库文章为 PC 上的所有 Firefox 用户部署某些扩展。
  2. 此外,你可以通过以下方式阻止用户禁用或删除该扩展程序:lock-ing 它通过执行政策使用 strategies.json或者使用 GPO如果您使用的是 Windows。

Google Chrome 企业版

(由于你对 Chrome 表现出兴趣一条评论

  • Google Chrome Enterprise 可以管理可以通过从云端(G Suite 的管理控制台)应用策略或使用本地工具和策略文件。如果您只想手动为某些设备设置一些策略,则无需使用云管理,但您可以随时选择最适合您的策略。
    此外,请阅读有关将策略应用于 Chrome 的更多信息这里
  • 參閱本指南熟悉使用策略管理扩展的所有可用选项。例如,政策可以帮到你强制安装扩展。
  • 您可以使用以下方式禁用在 Chrome 中添加新用户配置文件的选项:浏览器添加人员已启用政策
  • 如果您不想在新系统上部署 Chrome Enterprise,您只需将策略添加到已安装 Chrome 的现有系统中即可 -
    1. 下载 Chrome 企业版捆绑包对于 Windows(因为它包含所有平台所需的策略文件)。
    2. 按照 Google 提供的说明在您的平台上执行政策 -对于 Windows对于 Mac对于 Linux
    3. 重新启动 Chrome 并访问chrome://policy以验证该策略是否已应用。

虽然这些选项与原始查询很接近,但这并不是万无一失的解决方案,因为如果您以某种方式阻止其他浏览器的安装,用户总是可以在您的计算机上安装另一个浏览器,或者只是使用自己的设备(手机或计算机)通过您的连接浏览网站。
代理可以帮助您为连接上的所有设备修改特定网页,但用户可以切换到自己的代理或 VPN,或使用公共代理或 VPN 浏览未修改的网站。

答案3

由于现在大多数连接都是这样的,https除非您使用功能齐全的代理,否则您将无法打开数据包并删除特定的 html 元素。

基本上,代理必须打开数据包并删除 html 元素。

选择uBlock 起源为了胜利!

答案4

最简单的解决方案是获取内容拦截器并将要拦截的项目的 URL 添加到其黑名单中。

一个例子是免费的 uBlock Origin 附加组件 您还可以在要阻止的 URL 中使用通配符。它附带了自己详尽的网站列表,这些网站提供广告和其他最好避免的内容。

由于大多数路由器都基于 Linux,而 Linux 的防火墙比 Windows 更先进,因此您可能能够在路由器中访问 Linux,或者在其中安装允许完全控制的先进固件(如 DD-WRT)。为此,您可以使用iptables工具和Netfilter防火墙。

获得适用于 Windows 的高级防火墙需要第三方软件。以下是一个例子 Comodo 免费防病毒软件,具有互联网安全功能 其防火墙接受带通配符的 URL。Comodo 大部分是免费的,但有些功能需要付费。请参阅文章 选择性地阻止/允许计算机用户访问网站

相关内容