公开/公告号CN101251858A
专利类型发明专利
公开/公告日2008-08-27
原文格式PDF
申请/专利权人 腾讯科技(深圳)有限公司;
申请/专利号CN200810082763.X
申请日2008-03-12
分类号G06F17/30;
代理机构北京德琦知识产权代理有限公司;
代理人罗正云
地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室
入库时间 2023-12-17 20:45:19
法律状态公告日
法律状态信息
法律状态
2010-04-14
授权
授权
2008-10-22
实质审查的生效
实质审查的生效
2008-08-27
公开
公开
技术领域
本发明涉及数据管理技术,尤其涉及多页面浏览器中数据管理的方法及浏览器。
背景技术
网页本地缓存字段(Cookie)方法是在客户端储存数据的一种方法,Cookie对应于域(domain)或者对应于域下的子目录,也就是,Cookie与网站相对应,不同的网站对应不同的Cookie。与某一网站对应的所有页面共享同一个Cookie,并且,一个网站中不能获取另一个网站中的Cookie。现有的多页面浏览器都是基于域或域下的子目录的Cookie,在同一个窗口中能同时打开多个页面。
下面对域进行简单说明。域是一个网络概念,指的是一个网络单位,是一个网络单位与其它网络单位之间的界限。可以将域理解为一组有组织管理和访问控制的计算机的集合。形象地,如果把市场比作网络,那么一个域就是一家公司。对于不同的域的访问是有限制的,其他域不能轻易访问本域里的资源,比如www.sina.com和www.sohu.com,就属于两个不同的域,它们的Cookie是分开的。
Cookie可以是为辨别客户端身份而储存在客户端上的数据,以判定注册用户是否已经登录网站;当用户登录网站后,用户得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续。Cookie还可以应用于“购物车”之类的处理。下面以“购物车”为例进行说明,进行购物时,客户端在一段时间内在同一网站的不同页面中选择不同的商品,因为对应于同一网站,这些不同页面上选择的不同信息都将写入同一Cookie,在最后付款时从该Cookie中提取写入的信息。
Cookie包括两种,一种是文件Cookie,这种情况下Cookie保存在客户端,文件Cookie存在过期时间(expires),当超过设定的过期时间时系统将删除保存的Cookie;另一种是进程Cookie,对于这种情况,不将Cookie写入文件,在浏览器关闭以后自动将Cookie删除。进程Cookie只在当前进程有效存在,关闭进程以后将删除保存的Cookie;且进程Cookie保存在内存中,安全性较好。
现有的多页面浏览器中,如果在同一个网站同时登录两个用户,后登录的页面的写入Cookie操作将覆盖前一页面的Cookie,造成前一页面不能正常使用。特别地,对于进程Cookie,因为多页面浏览器中对于一个网站只有一个进程,后登录的页面的写入Cookie操作将覆盖前一页面的Cookie。
现有的多页面浏览器数据管理方案中不仅存在Cookie覆盖的问题,还存在安全性问题,例如对于进程Cookie,打开一个网站后,如登录该网站上的某个邮箱,在关闭该邮箱页面后如果没有关闭该网站的进程,仍然可以再次打开此邮箱中的邮件,这导致了邮箱的安全性降低。
由以上分析可见,现有的多页面浏览器中数据管理方案至少存在Cookie覆盖问题,在同一网站的后一页面对前一页面进行改写操作时,导致前一页面不能正常使用。
发明内容
本发明提供一种多页面浏览器中数据管理的方法,当同一网站中后一页面进行改写操作时,该方法能够使前一页面正常使用。
本发明提供一种多页面浏览器,当同一网站中后一页面进行改写操作时,该浏览器能够使前一页面正常使用。
一种多页面浏览器中数据管理的方法,该方法包括:
浏览器判断出当前页面指令为网页本地缓存字段Cookie改写指令;
浏览器建立Cookie空间,将当前页面的Cookie写入建立的所述Cookie空间。
一种多页面浏览器,该浏览器包括判断模块、Cookie空间管理模块和存储模块;
所述判断模块,用于判断出当前页面指令为Cookie改写指令,向Cookie空间管理模块发送改写指令及当前页面的Cookie;
所述Cookie空间管理模块包括改写模块,用于接收判断模块发送的改写指令,在存储模块建立Cookie空间,将判断模块发送的Cookie写入建立的所述Cookie空间;
所述存储模块,用于在Cookie空间管理模块的控制下建立Cookie空间,在建立的所述Cookie空间中保存Cookie空间管理模块发送的Cookie。
从上述方案可以看出,本发明中浏览器判断出当前页面指令为Cookie改写指令时,建立Cookie空间,将当前页面的Cookie写入建立的所述Cookie空间。这样,使同一网站中后一页面的Cookie与前一页面的Cookie分别单独保存,在后一页面进行了改写操作时,仍能使前一页面正常使用,从而,解决了多页面浏览器存在的Cookie覆盖问题。
附图说明
图1为本发明多页面浏览器中数据管理的方法示例性流程;
图2为本发明多页面浏览器中数据管理的方法流程图实例;
图3为本发明多页面浏览器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
参见图1,为本发明多页面浏览器中数据管理的方法示例性流程,该方法包括以下步骤:
步骤101,浏览器判断出当前页面指令为Cookie改写指令。
步骤102,浏览器建立Cookie空间,将当前页面的Cookie写入建立的所述Cookie空间。
本发明中,建立的Cookie空间用于保存写入的Cookie,一个Cookie空间对应一个Cookie。
对于进程Cookie,当浏览器判断出当前页面指令为关闭指令,且判断出与当前页面对应的Cookie空间相关联的所有页面已关闭时,删除建立的与当前页面对应的Cookie空间,这样当再次打开与该Cookie空间对应的任一页面时,因已经删除了Cookie空间不会存在现有技术中类似还能直接打开上一用户邮箱中邮件的问题,从而,提高了网络安全性。
下面通过图2的具体流程实例对本发明方法进行说明,该流程包括以下步骤:
步骤201,浏览器判断出当前页面指令为Cookie改写指令。
所述当前页面指令包括Cookie改写指令、Cookie获取指令或页面关闭指令。对于Cookie改写指令、Cookie获取指令,浏览器对当前页面指令进行判断之前,需要先截获当前页面指令,也就是截获浏览器获取Cookie、写入Cookie的时机。截获当前页面指令可以通过修改系统的默认行为实现截获方式因浏览器和系统平台而异,包括:在常见的Windows平台上,如果使用微软浏览器(IE,Internet Explorer)内核的浏览器,可以使用微软的应用程序接口开发程序(Detours)库进行截获(Hook)。对于开源的浏览器,比如火狐浏览器(FireFox),可以直接修改代码,或者使用插件的方式以提供截获功能;对于需要获取Cookie或者改写Cookie的页面,可以使用页面脚本(Javascript)的文档对象的Cookie(document.cookie)属性进行设置;对于IE内核,需要Hook的是文档对象(IHTMLDocument2)接口的读取Cookie属性(get_cookie)和设置Cookie属性(put_cookie)。
步骤202,浏览器建立Cookie空间,将当前页面的Cookie写入建立的所述Cookie空间,保存页面与建立的Cookie空间之间的对应关系。
所述对应关系包括当前页面以及和当前页面关联的页面,与建立的所述Cookie空间之间的对应关系。这样,当前页面以及和当前页面关联的页面,可以共享建立的所述Cookie空间内的Cookie。
步骤203,浏览器判断出当前页面指令为Cookie读取指令时,在步骤202中保存的对应关系中查询是否存在与当前页面关联的Cookie空间,若存在,则从查询到的Cookie空间读取Cookie;否则,读取预先保存的与当前页面关联的Cookie。
根据不同的实际情况,确认与当前页面是否关联的方法包括多种,下面进行举例说明。
如果通过当前页面上的链接打开了一个新页面,且当前页面与新页面的域不相同,则这两个页面是没有关联的,不能共享一个Cookie。例如,当前页面是关于某帐户的邮箱页面,域为“新浪”,使用该邮箱页面打开了域为“搜狐”的广告页面,那么这两个页面是没有关联的。
如果通过当前页面上的链接打开了一个新页面,且当前页面与新页面的域相同,则这两个页面是有关联的,可以共享同一个Cookie。例如,当前页面为关于某帐户的邮箱页面,使用该邮箱页面打开的多个邮件的页面,为与该邮箱页面关联的页面;该邮箱页面与该多个邮件页面可以共享一个Cookie。
另外,通过判断是否为新建页面也能确认页面是否关联:若在打开当前页面之后又打开一个新建页面,则确认这两个页面无关联,不能共享同一个Cookie。比如,打开当前页面后,在浏览器地址栏中输入一个URL而打开另一个页面,则认为这两个页面没有关联。再比如,若当前页面为关于某帐户的邮箱页面,然后登录了另一个帐户的邮箱页面,也就是使用了两个邮箱,则这两个邮箱页面为无关联的页面,不能共享同一个Cookie。较佳地,打开当前页面之后,如果再打开了一个与当前页面相同的新建页面,确认这两个页面有关联,可以共享同一个Cookie。
除了上述方法外,还可以采用将所有Cookie的用户名列举出来,通过对话框或者其它形式通知用户,通过接收用户输入的选择来确定共享哪个Cookie,也就是与哪个页面关联。
对于进程Cookie,本步骤所述预先保存的与当前页面对应的Cookie为:在本Cookie进程下,初始保存的与当前页面关联的Cookie。对于文件Cookie,所述预先保存的与当前页面对应的Cookie为:Cookie文件中预先保存的与当前页面对应的Cookie。
步骤204,对于进程Cookie,浏览器判断出当前页面指令为关闭指令,且判断出与和当前页面对应的Cookie空间相关联的所有页面已关闭,删除建立的与当前页面对应的Cookie空间。
对于文件Cookie,具有需要向客户端的Cookie文件中写入Cookie的特点,为了与现有的Cookie文件兼容,本发明也相应地采用了向Cookie文件写入的方法,包括:将建立的最后一个Cookie空间的Cookie写入Cookie文件。
对于文件Cookie,本步骤为:浏览器判断出当前页面指令为关闭指令,且判断出与和当前页面对应的Cookie空间相关联的所有页面已关闭,同时判断出与当前页面对应的Cookie空间为最后建立的Cookie空间,则将与当前页面对应的Cookie空间内的Cookie写入Cookie文件中,然后删除该Cookie空间。浏览器判断出当前页面指令为关闭指令后,也可以不作删除处理,保存建立的Cookie空间以备后续使用。所述后续使用可以为:因关闭页面时不对Cookie空间进行删除处理,对应文件Cookie保存一个以上Cookie空间,当再次打开与文件Cookie对应的页面时,可以将各Cookie空间内保存的信息呈现给用户,接收用户的选择后,对选择的Cookie进行读取或改写操作。
参见图3,为本发明多页面浏览器的结构示意图,该浏览器包括判断模块、Cookie空间管理模块和存储模块;
所述判断模块,用于判断出当前页面指令为Cookie改写指令,向Cookie空间管理模块发送改写指令及当前页面的Cookie;
所述Cookie空间管理模块包括改写模块,用于接收判断模块发送的改写指令,在存储模块建立Cookie空间,将判断模块发送的Cookie写入建立的所述Cookie空间;
所述存储模块,用于在Cookie空间管理模块的控制下建立Cookie空间,在建立的所述Cookie空间中保存Cookie空间管理模块发送的Cookie。
可选地,所述存储模块包括对应关系存储模块,用于在改写模块的控制下存储页面与建立的所述Cookie空间之间的对应关系。
当判断模块判断出当前页面指令为Cookie读取指令时,向Cookie空间管理模块发送读取当前页面Cookie的指令;
Cookie空间管理模块包括读取模块,用于接收判断模块发送的读取当前页面Cookie的指令,在对应关系存储模块存储的对应关系中查询是否存在与当前页面关联的Cookie空间,若存在,则从查询到的Cookie空间中读取Cookie,否则,读取预先保存的与当前页面对应的Cookie。对于进程Cookie,所述预先保存的与当前页面对应的Cookie为:在本Cookie进程下,初始保存的与当前页面关联的Cookie。对于文件Cookie,所述预先保存的与当前页面对应的Cookie为:Cookie文件中预先保存的与当前页面对应的Cookie。
对于进程Cookie,当判断模块判断出当前页面指令为关闭指令,且判断出与和当前页面对应的Cookie空间相关联的所有页面已关闭时,向Cookie空间管理模块发送关闭当前页面指令;
所述Cookie空间管理模块包括删除模块,用于在接收判断模块发送的关闭当前页面指令,删除存储模块中保存的与当前页面对应的Cookie空间。
对于文件Cookie,判断模块判断出当前页面指令为关闭页面指令,且判断出与和当前页面对应的Cookie空间相关联的所有页面已关闭,同时判断出与当前页面对应的Cookie空间为最后建立的Cookie空间,则向Cookie空间管理模块发送关闭当前页面指令;
所述Cookie空间管理模块包括写入模块和删除模块;
所述写入模块,用于接收Cookie空间管理模块发送的关闭当前页面指令,将存储模块保存的与当前页面对应的Cookie空间内的Cookie写入Cookie文件,然后向删除模块发送启动指令;
所述删除模块,用于接收所述启动指令后删除存储模块保存的与当前页面对应的Cookie空间。
对于文件Cookie,判断模块判断出当前页面指令为关闭页面指令时,也可以不做删除处理,这种情况下,存储模块将保存建立的Cookie空间,以备后续使用。所述后续使用可以为:因关闭页面时不对Cookie空间进行删除处理,对应文件Cookie保存一个以上Cookie空间,当再次打开与文件Cookie对应的页面时,可以将各Cookie空间内保存的信息呈现给用户,接收用户的选择后,对选择的Cookie进行读取或改写操作。
本发明中,浏览器判断出当前页面指令为Cookie改写指令时,建立Cookie空间以保存当前页面的Cookie,可见,本发明不是采用现有技术中域或域下的子目录的Cookie方式,而是采用基于页面的Cookie方式。这样,不会出现同一网站中后一页面进行改写操作时覆盖前一页面的Cookie,而导致前一页面不能正常使用的问题。并且,对于进程Cookie,在关闭对应某一Cookie空间的所有页面的同时,也删除建立的该Cookie空间,这样,当再次打开与该Cookie空间对应的任一页面时,不会存在现有技术中还能直接打开邮箱中的邮件类似问题,从而,提高了网络安全性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 图形用户界面可显示交易信息,潜在的未来电子设备将生成图形用户界面,数据结构,浏览器的应用程序浏览存储在网络服务器远程网络中的页面D. Ispositivo以操作浏览器的应用程序。设备eletr u00c8nico维护用于事务eletr u00c8nicas的第一个数据结构,网络服务器促进第一个数据结构的维护,将第一个数据结构保存在内存中的方法,应用程序的图形用户界面请问网络浏览器,以及有助于购买礼品的方法
机译: 在计算机系统的浏览器页面中的程序元素绑定方法,包括将程序元素显示在浏览器窗口中的位置指示器中,在使用标识定位指示器之后,在网页代码中
机译: 富集由例如网页浏览器的用户界面显示的互联网页面的方法连接到Internet网络的智能手机,包括通过Web浏览器执行修改的源代码,以及通过用户界面显示Internet页面