有没有办法绕过浏览器的过滤呢?
于是研究了一下傲游浏览器的广告过滤功能。傲游浏览器的过滤分四种:弹窗广告过滤、内容过滤、浮动广告过滤和文本过滤。由于本人觉得弹窗广告和浮动广告有违用户的体验,因而从不使用这种形式的广告。就是像Google Adsense这样的广告联盟也不使用这两种广告形式的。那么我的广告都是被内容过滤功能过滤了。看了傲游浏览器的内容过滤设置,其实很简单,只有如下三条:
/guanggao/
/softad/
[^a-z0-9%_-]ad(?:[sv][^a-z =?]+|banner|click|ver|name|x|log|[^a-z _]*[./]|bot|c_|client|council|gifs|graph|images|img|fshow|pic|vert|view|info|click|sponsor)
从这里可以看出广告代码中不能含有guanggao和softad目录名,调用的js文件名中以及文件内容中不能含有匹配第三条中的单词。
查看我自己的广告代码,原来文件名和文件内容中有含有ad这个词。于是马上修改代码,避免使用这些与广告相关的单词。修改后再浏览,终于广告都出来了。在其他浏览器中,如firefox,greenbrowser浏览都正常。
以上方法针对浏览器的默认设置是有效的。但有的浏览器的广告过滤功能很强,比如傲游浏览器,它提供了针对许多广告联盟的过滤包,比如百度和Google.如果用户加载了这些过滤包,那么以上方法是不奏效的。如Google过滤包中过滤了ad,pagead等字母,而这些我们是无法修改的。Google的广告代码中都含有src=http://pagead2.googlesyndication.com/pagead/show_ads.js这一代码。这一代码是不能有任何修改的,否则广告无法显示。显然,绕过关键词检查这一方法行不通。
那么有其他的办法没有。答案是肯定。根据我对几款浏览器的测试,发现浏览器的内容过滤就是检查常用来调用广告的JS文件。但他检查JS文件的深度是有限的,往往是一层,即JS文件路径名和内容。那么我们可以用层层包裹的方法来调用广告代码。一个JS文件调用另一个JS文件,甚至另一JS文件又调用另一个JS文件。真正的广告代码是在最后调用的JS文件中。一般来说浏览器不会检查这么深,这样便达到了广告被过滤的目的。
那么如何调用?常见的方法有两种,一是Javascript的输出函数:write和writein.第二种方法是使用iframe.不过如使用这种方法有一点要注意,那就是不能把Google Adsense广告放入iframe中。Google不推荐把广告代码投放在iframe中,如一定要这样做,那么一个页面中只能投放一组广告代码。关于“一组广告代码”的理解有多种。
如若转载,请注明出处:https://www.ozabc.com/jianzhan/41750.html