在公司的本地网络中阻止在线广告的经验

您好,Khabrovites! 在收到管理层的任务以阻止员工在Internet站点上刊登广告后,我决定采用创造性的方式进行处理:弄清楚该广告或该广告在技术上是如何广播的,存在哪些阻止方法以及它们的优缺点。 我还举例说明了在下一代网关上使用Traffic Inspector进行阻止的实现,以及在本地级别在卡巴斯基互联网安全软件(以下简称KIS)和AdBlock和Adblock Plus浏览器应用程序中阻止广告选项的本地使用。 对于系统管理员和其他使用本地网络的专家来说,这篇文章将很有趣。




我认为阻止广告的原因是可以理解的:提高页面加载速度和流量消耗,与消耗内存的插件容器作斗争,并监视用户行为的间谍脚本。 最重要的是,管理层为什么会提出这个问题,这是一个分散注意力的因素:广告将员工的注意力从执行的任务转移到了诱人的提议上,通常是通过狡猾的算法专门为他选择的。 顺便说一下,世界上每两年被屏蔽广告的计算机数量增加一倍

首先,概括地说,如何屏蔽广告

首先,有些浏览器应用程序对每种类型的内容甚至某些单独的站点(例如Facebook)都使用许多不同的算法和方案。 最受欢迎的裁切器是AdBlock和Adblock Plus(以下称为ADP)。 我认为,ADP在其中更有效,但有用的内容有时会落在其强大的溜冰场内(最后更多)。 对我而言,所有此类解决方案的缺点是它们安装在每台计算机上,而且还安装在每个浏览器上。 当局域网中有数百台计算机时,这将成为一个问题。

其次,许多防病毒软件(例如,我们使用卡巴斯基)都具有内置选项来阻止广告。 这种方法的优势在于,由于您使用的是防病毒软件,因此无需在计算机上安装任何软件,只需激活菜单中的功能即可。 但是,由于此功能不是基本功能,因此它比专门为此业务量身定制的应用程序更糟糕。

第三,您可以使用网络网关剪切广告。 由于HTTP请求从广告站点重定向到地址0.0.0.0而发生阻塞。 对我来说,一个巨大的优点是,阻塞对于整个本地网络都是立即有效的。 主要缺点是您需要监视广告地址数据库的相关性,并在必要时手动添加它们。 第二个缺点是仅使用一种阻塞机制-用于HTTP请求,毕竟,并非所有类型的广告都使用它们。

展望未来,我要说的是,在我的局域网中,我使用了所有三种方法-它们相互补充。 详细信息在文章结尾,现在让我们看一下广告类型

SEO和各种电子邮件现在对我们来说并不有趣。 我们对广告以及与有用内容一起播放的广告感兴趣。 根据这个原则,我将其分为以下几种类型:

1. 嵌入式广告服务单元 ,例如Yandex Advertising Network和Google.Adsense。

这些是文本,文本和图形模块,仅是平台所有者为获得收入而放置的横幅。 我认为,这是最有害的广告类型,因为它:a)通常模仿有用的内容并与之混合以增加可点击性; b)向用户显示他最可能感兴趣的内容(我们都知道大数据,行为因素等); c)显示用户(在我们的情况下为员工)当前不需要的东西,即分散了工作的注意力。

让我们利用这种广告类型的一些资源:

1.1。 sharpologist.com/2018/08/whats-menthol-shaving-stuff.html
Google横幅广告使用KIS工具巧妙地剪裁-布局不受影响,没有形成空隙:



1.2。 此外,有些块还使用了用户先前在搜索引擎中输入的用户请求(例如,在zmoe.ru上 ):



1.3。 www.bestfree.ru是重新优化的SEO网站的一个很好的例子,预计该网站将挤满广告。 红色框表示广告单元(请参见左图)。 所有这些都被阻止(见右侧):







1.4。 Mail.ru是一个失败的广告拦截示例。 在收件箱页面上,Yandex广告系统两次显示其自身:字母列表上方的信息行和左侧的广告单元。 我使用的任何方法都没有阻止单个插入:



2.标语交换,预告片,RTB网络,例如Rotaban,advmaker.net,Marketgid等。
他们无法展示个性化广告(例如Google或Yandex),但会以其重要性为前提。

2.1。 adBlock浏览器应用程序剪切了adindex.ru(Adriver广告网络)上的横幅横幅:



请注意,AdBlock完全切出了div和iframe,因此即使白色矩形也不会保留。

2.2。 这是另一个AdIndex网络块模仿内容的示例,该内容也被浏览器插件巧妙地切掉了:



3. 弹出式窗口

最疯狂的广告格式,尤其是在弹出窗口不允许您进入网站或关闭部分内容的情况下。 在带有弹出式窗口的网站中,我没有找到适合测试的任何内容,因此我使用了垃圾桶megashara.com。 浏览器应用程序表现出色。 但是用网络网关并不是那么简单。 一方面,“ megashar”发送HTTP请求,该请求在理论上可以阻止弹出窗口,但另一方面,它不断发出具有不同URL的镜像,因此在实践中无法做到这一点。 而且,如果弹出窗口通过JavaScript起作用,那么在网关级别,根本不可能将其阻止。 (但是,我局域网中的megashara.com已被完全阻止。)

4. 会员计划

通常,它们是由大型在线商店和潜在客户生成服务分发的。 例如,如果您是书籍门户网站的所有者,则可以使用迷宫联盟计划并将其代码放置在您的网站上-在线商店每次转换都会向您付款。 因此,例如,网站marketopedia.ru到达了 。 这是会员模块的外观:



这种看似简单的事情无法用任何方法克服,因为这种经济适用于JavaScript。 但是,这种会员计划非常少见,并且通常看起来没有侵略性-您可以放弃她的手。

亚马逊在Sharpologist.com上的会员计划已被浏览器应用程序成功阻止:



5.在YouTube上投放广告。

首先,这些是观看主视频之前的视频,打断观看的视频以及在视频上方弹出的广告。

我拍摄了第一个视频 -最初出现了一个广告视频:



宣传视频即将播出一整分钟。 最好在10秒内跳过它。 然后,我看到了完整的填充物:横幅和内置广告:



我启动ADP-瞧,这没什么:



6. 内置横幅

从阻止的角度来看,这是最困难的情况,因为阻止程序实际上需要禁止显示图片。 如何在页面上的所有图像中找到广告,而不影响其他图像? 在浏览器应用程序中,需要对它们的大小进行分析,因为横幅通常是标准大小。 显然,如果横幅具有非标准比例,则此方法将无效。

6.1。 首先,我选择了cnews.ru,它是这样运行的:



如您所见,AdBlock成功剪切了所有横幅,包括cnews.ru广告本身:)

6.2。 一个不太成功的示例是lezvie.info上的会员横幅:



它没有被我们的任何过滤器阻止。 我们看一下代码:



尺寸300x416是非标准格式(无论如何,它都不在Google.Adsense标准尺寸列表中),因此横幅可以预见地保留在原处。

7. 搜索上下文广告

我认为,这是我完全不会阻止的最无害的广告形式。 如果某人在搜索引擎中寻找内容,并且向他们显示了相关的广告,那没有什么错。 相反,它们有助于找到需要的东西,特别是在要求是商业性的情况下。
为了娱乐,我查看了上下文广告是否正在阻止浏览器应用程序:



如您所见,广告和横幅被阻止,但是Yandex.Market提供了报价。

8. 在社交网络上投放广告

我不会在本文中讨论这个主题,因为我相信(管理层也同意我的看法),一般来说,社交网络应该在工作场所被阻止。

什么是更好的阻止?

事实证明,最有效的方法是阻止浏览器应用程序,并且事实证明,ADP比AdBlock更好。 但是有三点让我感到困惑。

问题ADP 1号连续剪切所有内容,包括有用的内容。 例如,在vedomosti.ru网站上-不仅有纯粹的广告,而且还有带有事件公告的半广告横幅,这可能对读者有用。 并且有完全无害的链接标语。 一切都削减为零。



浏览器标题中的ADP图标显示此页面上的插件剪切了多少条横幅,这有什么用? 您不会看到被错误阻拦的重要事物的感觉,这种感觉不会消失。

ADP问题2:面临的网站要求在显示内容之前禁用广告屏蔽。 这些不是la脚的资源,而是诸如forbes.com之类的网站。 WordPress甚至还有一个阻止Adblock插件,该插件可以阻止使用“ Adblock”的用户的内容。



当然,有了网关阻止程序,就不会出现这样的问题。

问题ADP 3号插件必须安装在每台计算机和每个浏览器上。 而且安装还不够,因此您必须为每个请求四处奔波:有人阻止了有用的东西,有人没有打开网站。 我需要吗?

防病毒阻止的工作原理比ADP差,但比在网关级别转发HTTP请求更好。 这里无话可说。

正如我所说,被网络网关阻止是由于将指向带有广告的网站的请求重定向到地址0.0.0.0。 我使用了OPNsense上运行的Traffic Inspector Next Generation S100硬件。

简而言之,我将介绍如何设置锁( 此处的说明>> )。 使用ssh,我转到硬件并使用以下命令安装curl软件包(https://curl.haxx.se/):pkg install curl。



然后,他启动了脚本以初始化被阻止的Web资源update-hosts.sh的列表。 创建列表之后,我为下一代Traffic Inspector启动了Unbound DNS功能,该功能在Web界面“服务”->“ Unbound DNS”->“常规设置”中选择。 包括一个DNS解析器,DNS转发,DHCP注册。 在用户设置中,他指定了阻止的Web资源列表的文件/var/unbound/ad-blacklist.conf。 保存的设置。 现在,这块铁已成为DNS服务器。



然后,他将新建的DNS服务器安装为DHCP服务器:“服务”->“ DHCP v4”->“ LAN”->“在LAN接口上启用DHCP服务器”。 在用户的计算机上,应将DHCP服务器指定为“下一代流量检查器”,然后将铁片自动注册为DNS服务器:



现在,如果重定向到带有广告的页面,它将被阻止。
默认情况下,已阻止的资源列表是从文件http://winhelp2002.mvps.org/hosts.txt下载的。 但是我对此列表有很多疑问。 例如,为什么默认情况下,Yandex和Google在其广告网络中不使用任何地址? 这意味着最讨厌的广告类型(请参见第1段)不会被阻止。 我必须手动注册它们。 为了添加新的阻止地址,必须在配置文件中以以下格式添加地址:server:local-data:“ <被阻止资源的地址> A 0.0.0.0”,然后重新启动Unbound DNS服务。

代替简历

我在本地网络上屏蔽广告的方法很简单:

1.在网关级别激活锁定。

2.我们在被阻止的地址(或确保那里存在)中注册了Yandex和Google广告网络,以及您想要的其他地址。

3.我们通知员工,根据个人要求,他们可以安装广告拦截器,并将其安装到真正需要的人手中。

4.我们在网关级别,求职网站和其他不适当的资源上阻止社交网络,然后阻止在其上投放广告的问题将自行消失:)

PS就像我在上面写的,下一代Traffic Inspector中被阻止的HTTP请求的列表是从winhelp2002.mvps.org/hosts.txt文件中提取的,但是这个列表并不完整。 如果读者会发现开箱即用的专家,他们知道从哪里获得更多相关列表(尤其是考虑到Runet的详细信息),请在评论中写。 如果存在这样的列表,我将在脚本中编写它们。 顺便说一句,技术支持告诉我,OPNsense正在讨论添加一个用于管理此类列表的特殊插件,但到目前为止,该插件尚未投入生产。

Source: https://habr.com/ru/post/zh-CN424567/


All Articles