在不安装任何扩展的情况下阻止Firefox中的本机内容

firefox允许您为每个域阻止许多内容的权限,包括加载图像和脚本的权限。当您只想阻止几个特定的域名时,可以使用此扩展来代替更高级的内容或广告阻止扩展。我会教你怎么做。

要遵循本教程,you should already be a bit familiar with how the web is put together and how resource loading on the web work.我会尽力解释的,but this tutorial may not be suited for people without any experiences in web development.

你可能不想安装adblocker,但仍然想屏蔽一些更具智力攻击性的广告类型。(我看着你的内陆,Taboola,和RevContent!)

要阻止任何类型的内容,您需要知道从哪个域加载它。火狐中的网络监视器可以显示所有东西的来源。出版社Ctrl+Shift+E(或)命令+选项+E在MacOS上)打开网络监视器。打开页面后需要重新加载该页面,以便显示有关当前页面的任何信息。

假设您希望阻止源于https://www.example.com网站为了本教程的目的加载到任何网站。示例域总是让我恼火,so let's stop any JavaScript from being loaded from that domain.


要阻止域中的内容,您需要在网站权限存储中插入阻止规则。你不能在火狐中这样做,你呢?should quit Firefox在继续之前。

The site permission store is kept in an SQLite database called权限.sqlite在您的Firefox配置文件中(您可以通过打开关于:简介在firefox的地址字段中。)您可以使用类似为SQLite数据库浏览器,或平方英寸3命令行界面。

我来解释一下你将要做的一般性的改变,然后将它与SQL查询语句一起显示,就像它将与平方英寸3命令行界面(默认情况下在MacOS和大多数Linux变体上可用)。

阻止域

First you'll need to add a new row/record to the莫斯佩尔姆表。设置起源到协议加上要阻止的域,例如https://www.example.com网站.请注意,您必须为HTTP和HTTPS添加单独的块规则。

You then set the类型要阻止的内容类型。大多数情况下,您将要使用“image”,“脚本”,or "document".You can find a full list of supported types innsPermissionManager.cpp(权限管理器.cpp)PermissionUtils.cpp.Most ads are loaded over JavaScript,so revoking their domain's ability to execute scripts effectively stops them dead in their tracks.

既然您知道了阻止哪个域的权限,proceed by editing the权限.sqlitedatabase file.In the莫斯佩尔姆表,you'll need to insert a new record.Set the value of起源例如https://www.example.com网站,然后设置类型文件,最后设置许可(意思是“撤销”)。Commit the changes,启动火狐。The example website should no longer load!

Here is the same exact same process using the平方英寸3命令行界面:

sqlite3./permissions.sqlite“插入到“moz-perms”(源站,类型,权限)值(“https://www.example.com”,“脚本”,'2');"

以上是命令没有任何换行符。


因此,这不是阻止内容的最方便的技术。However,这是最快的方法之一,您不需要安装任何扩展,所有这些都会增加复杂性,放慢浏览器的速度,甚至可能为攻击we浏览器开辟新的途径。

回到古代,你可以在火狐本身的用户界面上屏蔽这些东西。你仍然可以这样阻止图像,但不幸的是,您不能再从用户界面撤消权限,如脚本权限。特别是在结束担心火狐用户伤害自己.

但是,在需要模拟API端点或其他重要资源被阻塞的环境中,当与自动化浏览器测试套件一起部署用于测试时,此技术可能非常有用。该技术还可用于授予其他用户提示的权限,而不减慢测试与用户界面交互的速度。用于测试。