由Web Beacon-网络臭虫引发的思考

问题:

为何在百度搜索之后,一些网站总能够推荐我刚刚搜索过的东西?

百度会记录你的搜索信息,同时会在你本地保存一个标识本地的cookie,

而当你打开第三方网站时,第三方网站嵌入了百度广告的JS代码,里面有请求百度广告的请求,而发这个请求时会把原来保存在本地的cookie上传给百度,而百度在服务器根据你的机器标识和你曾经的搜索来推送不同的广告给你。

于是诞生了百度广告联盟

网络臭虫:

比如说有一个臭虫网站,域名为www.abc.com

当用户打开一个页面时www.test.com ,浏览器会请求页面上的图片,js,css等文件。如果某个页面默认写入了一段实际上对应臭虫网站接口的资源,那么用户打开时,就会向这个接口发送请求。

<img src="http://www.abc.com/test?附加信息 height="1" width="1"/>

这时,abc站点就会收到用户的请求,收集到用户的相关信息,与普通HTTP请求类似,比如:ip,浏览器类型,来源网站:referer: https://www.test.com,以及适当的cookie(与请求域相关的cookie)

臭虫网站获取到这些信息后,就能做很多事情,比如发送垃圾邮件后,当用户点开邮件,就会发送响应给到垃圾邮件的系统,表明当前这个邮箱还出于活跃状态,可以继续骚扰。又或者,之前百度埋的cookie信息发送到百度之后,cookie中可能包含了最近搜索的词语,那么百度就能返回一些广告信息,在当前访问的页面展示出来。

如果电商网站和百度进行勾结,那么你在百度搜索之后,再登录购物网站,就会推荐一些你搜索过的内容出来。

这个过程,并不是电商网站直接读取了百度埋的cookie,而是埋了一段与百度信息沟通的js代码等,能够将百度之前埋的cookie再发给百度,然后百度返回适当的推荐关键词到购物网站,然后购物网站进行排序优化。

注意,这里浏览器cookie的发送原则:

HTTP规范约束,禁止跨域读写cookie。虽然浏览器收到了服务器发送的cookie(非法的),但是它直接忽略了它。

比如域名www.test.com,当用户访问时,它返回结果想写一个cookie关联到域名www.baidu.com,这肯定是不行的,浏览器直接忽略了。

而且方用户访问www.test.com时,浏览器只会发送与.test.com相关的cookie到服务端。

参考文档:

web beacon : https://www.cnblogs.com/jvava/p/3926539.html

cookies: https://www.cnblogs.com/wenjia-hao/p/7365569.html

原文地址:https://www.cnblogs.com/shuhe-nd/p/10951659.html

时间: 2024-11-26 00:26:28

由Web Beacon-网络臭虫引发的思考的相关文章

网络臭虫

网络臭虫又叫 网络信标(Web beacon), 是可以暗藏在任何网页元素或邮件内的1像素大小的透明GIF或PNG图片 可以理解为<img src="http://www.webbeancon.php?附加信息 height="1" width="1"/> 网络臭虫的目的是把用户的信息上传到服务端 邮件跟踪和垃圾邮件 垃圾邮件的发送者,随机生成邮件的接受者的地址,并在邮件中埋入一个网络臭虫,网络臭虫可以是一个一像素的图片比如: <img

一次部署HTTPS的相关事件引发的思考

前言: 上周五快要下班的时候,突然收到通知客户希望了解一下部署HTTPS的流程,这种事情谁听了都会有几分诧异的.因为这件事虽然和工作有一定的相关度,但平时不会走这个方向,实际上也较少接触.此外,客户手下应该不缺人,做运维和开发的肯定比我更懂这个,但情况却和我想的不一样. 正文: 客户有需求,就应该尽量满足!因此,尽管之前对Apache.Tomcat的一些配置不熟,也未有过自己部署HTTPS的经验[当然失败的尝试还是有的],便趁着周末了解了一下相关的东西,在本地搭建了环境.实践表明,当你对一个东西

web beacon

网络臭虫又叫 网络信标(Web beacon), 是可以暗藏在任何网页元素或邮件内的1像素大小的透明GIF或PNG图片 可以理解为<img src="http://www.webbeancon.php?附加信息 height="1" width="1"/> 网络臭虫的目的是把用户的信息上传到服务端 邮件跟踪和垃圾邮件 垃圾邮件的发送者,随机生成邮件的接受者的地址,并在邮件中埋入一个网络臭虫,网络臭虫可以是一个一像素的图片比如: <img

iOS一个&#39;initWithRequest:delegate:&#39; is deprecated: first deprecated in iOS 9.0 - Use NSURLSession (see NSURLSession.h) Warning引发的思考

Warning 如上图所示 源代码片段为 - (void)loadWebRequest:(id)sender { NSURL *url=[NSURL URLWithString:@"http://localhost:8080/getAllStudent"]; NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"GET"]; NS

class_copyIvarList方法获取实例变量问题引发的思考

在runtime.h中,你可以通过其中的class_copyIvarList方法来获取实例变量.具体的实现如下(记得导入头文件<objc/runtime.h>): - (NSArray *)ivarArray:(Class)cls { unsigned int stuIvarCount = 0; Ivar *ivars = class_copyIvarList(cls, &stuIvarCount); if (stuIvarCount == 0) { return nil; } NSM

曲演杂坛--一条DELETE引发的思考

原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID INT IDENTITY(1,1) PRIMARY KEY, DT DATETIME ) 每次业务想要获取一个新ID,就执行以下SQL: INSERT INTO TB001(DT) SELECT GETDATE(); SELECT @@IDENTITY 由于这些数据只需保留最近一天的数据,因此建立一个SQL作业来定期删除数据,删除脚

UPDATE 时主键冲突引发的思考【转】

假设有一个表,结构如下: root@localhost : yayun 22:59:43> create table t1 ( -> id int unsigned not null auto_increment, -> id2 int unsigned not null default '0', -> primary key (id) -> )engine=myisam; Query OK, 0 rows affected (0.00 sec) root@localhost

Navicat连接mysql出现2003——can&#39;t connect to mysql server on localhost(10061)引发的思考)

一:起因 (0)最近由于病了一场,闲暇时间(即生病期间)一直思考如下问题: 思考一:如何做一名合格的程序猿,怎么才能成为一名名副其实的程序猿? 思考二:还有就是到底,值不值得熬夜加班去搞研发(或转型或做相对轻松的其它IT岗位~~~对于这个问题,我一时无法给出答案,希望各位帮我分析一下,不胜感激!!!) (1)如果没有做到这一点你怎么能说,你是一名合格的程序猿 —— 安装程序或者运行开发程序... http://d.dxy.cn/detail/7870458http://d.dxy.cn/deta

黑马程序员---Objective-C基础学习---一道课后习题引发的思考

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一道课后习题引发的思考 /* 需求:设计一个类Point2D,用来表示二维平面中某个点 1> 属性 * double x * double y 2> 方法 * 属性相应的set和get方法 * 设计一个对象方法同时设置x和y * 设计一个对象方法计算跟其他点的距离 * 设计一个类方法计算两个点之间的距离 3> 提示 * C语言的math.h中有个函数:double pow(double