CN117093474A - 数据共享方法、设备及计算机可读介质 - Google Patents
数据共享方法、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN117093474A CN117093474A CN202310882823.0A CN202310882823A CN117093474A CN 117093474 A CN117093474 A CN 117093474A CN 202310882823 A CN202310882823 A CN 202310882823A CN 117093474 A CN117093474 A CN 117093474A
- Authority
- CN
- China
- Prior art keywords
- cookie
- information
- ciphertext
- management plug
- domain name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 235000014510 cooky Nutrition 0.000 claims abstract description 327
- 238000012360 testing method Methods 0.000 claims abstract description 131
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- YZMCKZRAOLZXAZ-UHFFFAOYSA-N sulfisomidine Chemical compound CC1=NC(C)=CC(NS(=O)(=O)C=2C=CC(N)=CC=2)=N1 YZMCKZRAOLZXAZ-UHFFFAOYSA-N 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/102—Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据共享方法、设备及计算机可读介质,该方案可以实现用户设备使用同一个测试账号对同一个测试系统在同一时间进行分布式测试,测试期间无需重复登录测试系统,不会导致其它用户设备的cookies失效,提升自动化测试脚本执行效率,降低自动化测试的实现难度,测试效率较高,同时由于整个过程都通过浏览器的插件完成,实现更简单。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种多端cookies数据共享方法、设备及计算机可读介质。
背景技术
在软件测试过程中,为了保证测试系统登录状态的有效性,使得测试系统接口能正确访问,需要在测试系统已经正确登录的情况下,获得通过认证的相关cookies,此时才可以正常执行后续的测试任务。通常情况下,测试系统的登录模块为了确保安全性,会设置验证码等防止脚本自动登录的机制,很难通过自动化脚本的方式实现自动登录,因此一般都需要由测试人员手动登录测试系统,然后再获取cookies。对于这种方式,当测试人员在不同的设备进行测试时,需要重复登录测试系统,同时在不同的设备使用同一个测试账号登录测试系统时,会造成之前的设备所使用的cookies失效,使得自动测试无法顺利进行,难以实现对同一个测试系统进行分布式测试,由此导致测试效率降低。
发明内容
本申请的多个方面提供一种数据共享方法、设备及计算机可读介质,用以解决目前的方案测试效率低的问题。
本申请的一方面,提供了一种数据共享方法,所述方法应用于第一用户设备,所述第一用户设备的浏览器安装有cookies管理插件,所述方法包括:
所述第一用户设备通过浏览器登录测试系统;
所述cookies管理插件获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息;
所述cookies管理插件对所述cookies信息进行加密,获取cookies密文;
所述cookies管理插件将cookies密文与对应的域名信息关联后发送至服务器,以使第二用户设备根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。
本申请实施例还提供了另一种数据共享方法,所述方法应用于第二用户设备,所述第一用户设备的浏览器安装有cookies管理插件,包括:
所述cookies管理插件根据测试系统的域名信息,向服务器请求所述域名信息对应的cookies密文,其中,所述cookies密文由第一用户设备的cookies管理插件在获取所述测试系统产生的cookies信息进行加密,并按照按名信息分类后发送至所述服务器;
所述cookies管理插件获取所述服务器返回的cookies密文;
所述cookies管理插件对所述cookies密文进行解密,获取对应的cookies信息;
所述cookies管理插件根据所述cookies信息设置测试系统的cookies。
基于本申请的另一方面,还提供了一种实现数据共享的第一用户设备,所述第一用户设备的浏览器中安装有cookies管理插件,所述cookies管理插件包括:
信息获取模块,用于在所述第一用户设备通过浏览器登录测试系统后,获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息;
加密模块,用于对所述cookies信息进行加密,获取cookies密文;
上传模块,用于将cookies密文按照域名信息分类后发送至服务器,以使所述服务器在第二用户设备根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。
本申请实施例还提供了一种实现数据共享的第二用户设备,所述第二用户设备的浏览器中安装有cookies管理插件,所述cookies管理插件包括:
下载模块,用于根据测试系统的域名信息,向服务器请求所述域名信息对应的cookies密文,获取所述服务器返回的cookies密文,其中,所述cookies密文由第一用户设备的cookies管理插件在获取所述测试系统产生的cookies信息进行加密,并按照按名信息分类后发送至所述服务器;
解密模块,用于对所述cookies密文进行解密,获取对应的cookies信息;
设置模块,用于根据所述cookies信息设置测试系统的cookies。
本申请实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述数据共享方法。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述数据共享方法。
相较于现有技术,本申请实施例所提供了一种数据共享方案,该方案中第一用户设备在通过浏览器登录测试系统后,其浏览器的cookies管理插件可以获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息,然后对所述cookies信息进行加密获取cookies密文,再将cookies密文与对应的域名信息关联后发送至服务器,以使第二用户设备可以根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。由此,可以实现用户设备使用同一个测试账号对同一个测试系统在同一时间进行分布式测试,测试期间无需重复登录测试系统,不会导致其它用户设备的cookies失效,提升自动化测试脚本执行效率,降低自动化测试的实现难度,测试效率较高,同时由于整个过程都通过浏览器的插件完成,实现更简单。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的一种数据共享方法的处理流程图;
图2为本申请实施例中第一用户设备进行加密的处理流程图;
图3为本申请实施例中第二用户设备进行解密的处理流程图;
图4为适用于实现本申请实施例中方案的一种电子设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种数据共享方法,该方法中第一用户设备在通过浏览器登录测试系统后,其浏览器的cookies管理插件可以获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息,然后对所述cookies信息进行加密获取cookies密文,再将cookies密文按照域名信息分类后发送至服务器,以使第二用户设备可以根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。由此,可以实现用户设备使用同一个测试账号对同一个测试系统在同一时间进行分布式测试,测试期间无需重复登录测试系统,不会导致其它用户设备的cookies失效,提升自动化测试脚本执行效率,降低自动化测试的实现难度,测试效率较高,同时由于整个过程都通过浏览器的插件完成,无需对测试系统进行改动,实现更简单。在实际场景中,执行上述方法的第一用户设备和第二用户设备可以是进行测试时用户所使用的终端设备,例如用户用来进行测试的计算机、手机、平板电脑等。
图1示出了本申请实施例提供的一种数据共享方法的交互流程示意图,所述方法涉及第一用户设备、第二用户设备和服务器,例如本实施例中所述第一用户设备可以是一台计算机pc1,第二用户设备可以是其它后续加入测试的计算机pc2、pc3等,服务器用于对cookies信息进行管理的服务器server,其交互流程至少包括以下的处理步骤:
步骤S101,所述第一用户设备通过浏览器登录测试系统。其中,所述第一用户设备是用户用于对测试系统进行测试的设备,该设备上的浏览器上安装有cookies管理插件,同时后续加入测试的第二用户设备的浏览器中也同样安装有cookies管理插件。在进行测试时,用户使用该第一用户设备上的安装过cookies管理插件的浏览器打开测试系统,输入正确的用户名称和密码登录测试系统。
步骤S102,第一用户设备的cookies管理插件获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息。cookies信息中包括了接入测试系统并进行测试所需要一系列信息,因此在获取所述测试系统产生的cookies信息之后,可以对cookies信息中的内容进行分割,然后提取出包含域名字段的对应内容。
其中,由于测试系统所产生cookies信息一般都存储于浏览器的本地缓存中,cookies管理插件可以通过执行特定函数的方式,从获取所述测试系统产生的cookies信息,以及从cookies信息中提取域名信息。例如,本实施例中,cookies管理插件可以通过document.cookie函数获取当前登录的测试系统所产生的所有cookies信息,然后对这些cookies信息使用split(“;”)函数,基于cookies信息中的“;”对其进行分割,提取出包含域名(domian)字段的对应内容,然后根据所述域名字段的对应内容,确定所述cookies信息的域名信息。例如,某一个cookies信息中的部分内容如下:“…;data=20230404;domain=uid:136776512788081465,name:zhxxxxxx;token:22d591950ad50003|002213fd48c7b8865bc2f0bdd6,psino:5;zone:asian,doamin:tesex:com;…”其中,“domain=”之后的内容即为该cookies信息中的域名信息,分割提取后即可获得如下的结果:uid:136776512788081465,name:zhxxxxxx;token:22d591950ad50003|002213fd48c7b8865bc2f0bdd6,psino:5;zone:asian,doamin:tesex:com。
步骤S103,第一用户设备的cookies管理插件对所述cookies信息进行加密,获取cookies密文。
在本申请的一些实施例中,可以采用如图2所示的方式对cookies信息进行加密,包括以下的步骤:
步骤S201,第一用户设备的cookies管理插件将cookies信息转换为第一字节数组。其中,所述cookies信息为字符串的形式,因此可以通过预先设定的方式将其转换为字节(byte)数组的形式,例如本实施例中,可以采用如下的代码对cookies信息进行字符串与字节数组的转换:
String str="COOKIES_STR1";
bytes=str.getBytes("UTF8");
其中,COOKIES_STR1表示关于cookies信息的字符串内容,通过上述方式即可将其转换为UTF8编码格式的字节数组,例如,最终可以输出如下的结果{0x0F,0x1F,0x2F,0x3F,0x4F,0x5F,0x6F}。
步骤S202,第一用户设备的cookies管理插件将所述第一字节数组加上预设的密钥值,获取第二字节数组。在获取到第一字节数组之后,可以将该第一字节数组与预先约定的密钥值(key)相加,由此可以生成一个新的字节数组,该字节数组即可记为第二字节数组。对于上述第一字节数组{0x0F,0x1F,0x2F,0x3F,0x4F,0x5F,0x6F},在加上key之后,可以获得如下的第二字节数组:{0x2D,0x47,0x43,0x9A,0x2A,0x3F,0x4A}。
步骤S203,第一用户设备的cookies管理插件将所述第二字节数组转换为字符串,获取cookies密文。对于新生成的第二字节数组,可以将其重新转换为字符串,此时获取到的字符串内容可以“COOKIES_STR2”,该字符串内容“COOKIES_STR2”记为cookies密文,已经完全不同于cookies信息原本的字符串内容“COOKIES_STR1”,由此实现了cookies信息的加密。当第二用户设备的cookies管理插件由于可以预先约定好上述的转换方法和key值,因此顺利完成解密获取到cookies信息。
步骤S104,第一用户设备的cookies管理插件将cookies密文与对应的域名信息关联后发送至服务器,而服务器在接收后也可以按照域名信息来分类存储所有的cookies信息。由于在实际场景中,cookies密文中无法获得任何的明文信息,因此可以将生成的cookies密文与基于对应cookies信息解析获得的域名信息进行关联,使得cookies密文可以指向对应的域名。而在实际场景中,一个域名信息一般对应于一个测试系统,而对于本方案中多个用户设备对同一个测试系统在同一时间进行分布式测试的场景,将获取到的所有cookies信息与域名信息进行关联后,可以使得cookies信息与测试系统对应,使得后续加入测试的第二用户设备可以更加方便地获取到需要的cookies信息。
在本申请的一些实施例中,第一用户设备的cookies管理插件可以将cookies密文构建为[域名,该域名下的cookies密文]的数据结构,由此可以将某一域名下对应的cookies密文与对应域名信息建立关联。例如,解析cookies信息COOKIES_STR1可以获得的对应的域名信息为domain_A,将COOKIES_STR1进行加密处理,可以获得cookies密文COOKIES_STR2,此时可以构建[domain_A,COOKIES_STR2]的数据结构,使得domain_A与COOKIES_STR2建立关联。cookies管理插件所获取到的所有cookies密文都可以按照上述方式进行关联,然后可以将[域名,该域名下的cookies密文]形式的信息发送至服务器,以使所述服务器能够按照不同的域名信息存储各个域名下的cookies密文,由此完成cookies信息的上传过程。
步骤S105,第二用户设备的cookies管理插件根据测试系统的域名信息,向服务器请求所述域名信息对应的cookies密文,由此可以获取所述服务器返回的cookies密文,将cookies密文下载至第二用户设备本地。例如,若第二用户设备需要加入对某一测试系统的分布式测试,该测试系统的域名为domain_A,此时第二用户设备即可向服务器请求所述域名信息“domain_A”对应的cookies密文,服务器根据该请求查找存储的数据库后,即可向第二用户设备返回对应的cookies密文COOKIES_STR2。
步骤S106,第二用户设备的cookies管理插件对所述cookies密文进行解密,获取对应的cookies信息。其中,解密的过程与前述加密的过程对应,图3示出了第二用户设备的cookies管理插件对cookies密文解密时的处理流程,包括以下的处理步骤:
步骤S301,所述cookies管理插件将cookies密文转换为第二字节数组。其中,所述cookies密文是字符串的形式,因此可以通过加密时采用的方式将其转换为字节数组的形式,此时转换获得的字节数组即为与key运算后的第二字节数组。例如,cookies密文COOKIES_STR2转换后可以获得第二字节数组{0x2D,0x47,0x43,0x9A,0x2A,0x3F,0x4A}。
步骤S302,第二用户设备的cookies管理插件将所述第二字节数组减去预设的密钥值,获取第一字节数组。此处解密时所使用的密钥值可以预先约定相同的key,因此可以对其进行减运算后,即可获得第一字节数组{0x0F,0x1F,0x2F,0x3F,0x4F,0x5F,0x6F}。
步骤S303,第二用户设备的述cookies管理插件将所述第一字节数组转换为字符串,获取解密后的cookies信息。例如,对于前述的cookies密文COOKIES_STR2,通过上述解密步骤之后,最终可以还原为初始的cookies信息COOKIES_STR1,而当攻击者获取到cookies密文时,由于并不知晓字符串与字节数组之间的转换方法、第一字节数组与第二字节数组之间计算的key值,因此也无法获取到cookies信息,由此有效提升了传输和存储时的安全性。
步骤S107,第二用户设备的cookies管理插件根据所述cookies信息设置测试系统的cookies。由此,可以实现用户设备使用同一个测试账号对同一个测试系统在同一时间进行分布式测试,测试期间无需重复登录测试系统,不会导致其它用户设备的cookies失效,提升自动化测试脚本执行效率,降低自动化测试的实现难度,测试效率较高,同时由于整个过程都通过浏览器的插件完成,实现更简单。
在一些特等的场景中,由于某一些cookies可能依赖于特定的浏览器类型,否则可能导致浏览器无法正常识别cookies信息。因此,在本申请的一些实施例中,第二用户设备的cookies管理插件在根据所述cookies信息设置测试系统的cookies时,可以先在所述cookies信息中查找浏览器类型(browertype)字段,若存在所述浏览器类型字段,所述cookies管理插件将当前浏览器类型替换为所述浏览器类型字段中的值,再根据所述cookies信息设置测试系统的cookies;若不存在所述浏览器类型字段,所述cookies管理插件根据所述cookies信息设置测试系统的cookies。
例如,cookies信息中的浏览器类型字段的值为firefox或chrome等,表示cookies信息需要依赖于firefox内核或chrome内核的浏览器,此时,第二用户设备可以通过navigator.useragent函数获取浏览器的当前浏览器类型,然后将其替换为firefox或chrome,然后再根据所述cookies信息,使用document.cookie函数来设置测试系统的cookies。此时,第二用户设备的浏览器才可以正常识别cookies信息,从而在测试时无需经过登录步骤直接访问测试系统,使得测试脚本可以在未经过登录步骤的情况成功运行。而当cookies信息中不存在浏览器类型字段,其该字段为空时,则可以不需要设置浏览器中的当前浏览器类型,使用默认值即可,从而可以直接根据所述cookies信息设置测试系统的cookies,此时第二用户设备的浏览器同样可以正常识别cookies信息。
此外,在所述cookies信息中查找浏览器类型字段时,第二用户设备的cookies管理插件也可以对cookies信息中的内容进行分割,并在分割的结果中查找浏览器类型字段。例如,本实施例中,获取并解密得到的cookies信息使用split(“;”)函数,基于cookies信息中的“;”对其进行分割,提取出cookies信息中各个部分的内容,然后在分割的结果中查找浏览器类型字段。若查找到浏览器类型字段,则先替换当前浏览器类型后在设置cookies,若未查找到或者浏览器类型字段为空,则无需替换当前浏览器类型,可以直接设置cookies。
此外,本申请实施例还提供了一种实现数据共享的第一用户设备,所述第一用户设备的浏览器中安装有cookies管理插件,所述cookies管理插件包括信息获取模块、加密模块和上传模块。所述信息获取模块用于在所述第一用户设备通过浏览器登录测试系统后,获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息。所述加密模块用于对所述cookies信息进行加密,获取cookies密文。所述上传模块用于将cookies密文按照域名信息分类后发送至服务器,以使所述服务器在第二用户设备根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。
本申请实施例还提供了一种实现数据共享的第二用户设备,所述第二用户设备的浏览器中安装有cookies管理插件,所述cookies管理插件包括下载模块、解密模块和设置模块。所述下载模块用于根据测试系统的域名信息,向服务器请求所述域名信息对应的cookies密文,获取所述服务器返回的cookies密文,其中,所述cookies密文由第一用户设备的cookies管理插件在获取所述测试系统产生的cookies信息进行加密,并按照按名信息分类后发送至所述服务器。所述解密模块用于对所述cookies密文进行解密,获取对应的cookies信息。所述设置模块用于根据所述cookies信息设置测试系统的cookies。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备对应的方法可以是前述实施例中的数据共享方法,并且其解决问题的原理与该方法相似。本申请实施例提供的所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述本申请的多个实施例的方法和/或技术方案。
图4示出了适用于实现本申请实施例中的方法和/或技术方案的一种设备的结构,该设备400包括中央处理单元(CPU,Central Processing Unit)401,其可以根据存储在只读存储器(ROM,Read Only Memory)402中的程序或者从存储部分408加载到随机访问存储器(RAM,Random Access Memory)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O,Input/Output)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标、触摸屏、麦克风、红外传感器等的输入部分406;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,LiquidCrystal Display)、LED显示器、OLED显示器等以及扬声器等的输出部分407;包括硬盘、光盘、磁盘、半导体存储器等一个或多个计算机可读介质的存储部分408;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。
特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。
本申请另一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的任意一个或多个实施例的方法和/或技术方案。
具体来说,本实施例可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种数据共享方法,其中,所述方法应用于第一用户设备,所述第一用户设备的浏览器安装有cookies管理插件,所述方法包括:
所述第一用户设备通过浏览器登录测试系统;
所述cookies管理插件获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息;
所述cookies管理插件对所述cookies信息进行加密,获取cookies密文;
所述cookies管理插件将cookies密文与对应的域名信息关联后发送至服务器,以使第二用户设备根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。
2.根据权利要求1所述的方法,其中,所述cookies管理插件获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息,包括:
所述cookies管理插件获取所述测试系统产生的cookies信息;
所述cookies管理插件对cookies信息中的内容进行分割,提取出包含域名字段的对应内容;
根据所述域名字段的对应内容,确定所述cookies信息的域名信息。
3.根据权利要求1所述的方法,其中,所述cookies管理插件对所述cookies信息进行加密,获取cookies密文,包括:
所述cookies管理插件将cookies信息转换为第一字节数组;
所述cookies管理插件将所述第一字节数组加上预设的密钥值,获取第二字节数组;
所述cookies管理插件将所述第二字节数组转换为字符串,获取cookies密文。
4.根据权利要求1所述的方法,其中,所述cookies管理插件将cookies密文与对应的域名信息关联后发送至服务器,包括:
所述cookies管理插件将cookies密文构建为[域名,该域名下的cookies密文]的数据结构;
所述cookies管理插件将[域名,该域名下的cookies密文]形式的信息发送至服务器,以使所述服务器按照域名信息存储各个域名下的cookies密文。
5.一种数据共享方法,其中,所述方法应用于第二用户设备,所述第一用户设备的浏览器安装有cookies管理插件,包括:
所述cookies管理插件根据测试系统的域名信息,向服务器请求所述域名信息对应的cookies密文,其中,所述cookies密文由第一用户设备的cookies管理插件在获取所述测试系统产生的cookies信息进行加密,并按照按名信息分类后发送至所述服务器;
所述cookies管理插件获取所述服务器返回的cookies密文;
所述cookies管理插件对所述cookies密文进行解密,获取对应的cookies信息;
所述cookies管理插件根据所述cookies信息设置测试系统的cookies。
6.根据权利要求5所述的方法,其中,所述cookies管理插件对所述cookies密文进行解密,获取对应的cookies信息,包括:
所述cookies管理插件将cookies密文转换为第二字节数组;
所述cookies管理插件将所述第二字节数组减去预设的密钥值,获取第一字节数组;
所述cookies管理插件将所述第一字节数组转换为字符串,获取解密后的cookies信息。
7.根据权利要求5所述的方法,其中,所述cookies管理插件根据所述cookies信息设置测试系统的cookies,包括:
所述cookies管理插件在所述cookies信息中查找浏览器类型字段;
若存在所述浏览器类型字段,所述cookies管理插件将当前浏览器类型替换为所述浏览器类型字段中的值,再根据所述cookies信息设置测试系统的cookies;
若不存在所述浏览器类型字段,所述cookies管理插件根据所述cookies信息设置测试系统的cookies。
8.根据权利要求7所述的方法,其中,所述cookies管理插件在所述cookies信息中查找浏览器类型字段,包括:
所述cookies管理插件对cookies信息中的内容进行分割,并在分割的结果中查找浏览器类型字段。
9.一种实现数据共享的第一用户设备,其中,所述第一用户设备的浏览器中安装有cookies管理插件,所述cookies管理插件包括:
信息获取模块,用于在所述第一用户设备通过浏览器登录测试系统后,获取所述测试系统产生的cookies信息,并提取所述cookies信息中的域名信息;
加密模块,用于对所述cookies信息进行加密,获取cookies密文;
上传模块,用于将cookies密文按照域名信息分类后发送至服务器,以使所述服务器在第二用户设备根据测试系统的域名信息从所述服务器获取所述cookies信息,对所述cookies密文进行解密获取对应的cookies信息,并根据所述cookies信息设置测试系统的cookies。
10.一种实现数据共享的第二用户设备,其中,所述第二用户设备的浏览器中安装有cookies管理插件,所述cookies管理插件包括:
下载模块,用于根据测试系统的域名信息,向服务器请求所述域名信息对应的cookies密文,获取所述服务器返回的cookies密文,其中,所述cookies密文由第一用户设备的cookies管理插件在获取所述测试系统产生的cookies信息进行加密,并按照按名信息分类后发送至所述服务器;
解密模块,用于对所述cookies密文进行解密,获取对应的cookies信息;
设置模块,用于根据所述cookies信息设置测试系统的cookies。
11.一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至8中任一项所述的方法。
12.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310882823.0A CN117093474A (zh) | 2023-07-18 | 2023-07-18 | 数据共享方法、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310882823.0A CN117093474A (zh) | 2023-07-18 | 2023-07-18 | 数据共享方法、设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117093474A true CN117093474A (zh) | 2023-11-21 |
Family
ID=88770601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310882823.0A Pending CN117093474A (zh) | 2023-07-18 | 2023-07-18 | 数据共享方法、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117093474A (zh) |
-
2023
- 2023-07-18 CN CN202310882823.0A patent/CN117093474A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879903B (zh) | 证据存储方法、证据验证方法及装置、设备和介质 | |
CN112333198B (zh) | 安全跨域登录方法、系统及服务器 | |
US10102306B2 (en) | Patching base document object model (DOM) with DOM-differentials to generate high fidelity replay of webpage user interactions | |
US20180026965A1 (en) | Live Tiles Without Application-Code Execution | |
CN107613005B (zh) | 反向代理方法及装置、电子设备、存储介质 | |
CN111163095B (zh) | 网络攻击分析方法、网络攻击分析装置、计算设备和介质 | |
CN110532165B (zh) | 应用程序安装包特性检测方法、装置、设备及存储介质 | |
CN111163094B (zh) | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 | |
CN111400760B (zh) | web应用访问数据库的方法、装置、服务器和存储介质 | |
CN111245811A (zh) | 信息加密方法、装置及电子设备 | |
JP2002182768A (ja) | インストールサーバ装置、インストールサービス方法、ならびに、情報記録媒体 | |
CN113312577B (zh) | 网页资源处理方法、装置、电子设备和存储介质 | |
CN111708680A (zh) | 报错信息解析方法、装置、电子设备及存储介质 | |
CN114584381A (zh) | 基于网关的安全认证方法、装置、电子设备和存储介质 | |
US10049222B1 (en) | Establishing application trust levels using taint propagation | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
CN112416875B (zh) | 日志管理方法、装置、计算机设备及存储介质 | |
CN117093474A (zh) | 数据共享方法、设备及计算机可读介质 | |
CN112182603B (zh) | 反爬虫方法和装置 | |
CN113987471A (zh) | 可执行文件执行方法、装置、电子设备和计算机可读介质 | |
US20210089497A1 (en) | Method, device, and computer program product for managing data object | |
CN113765876A (zh) | 报表处理软件的访问方法和装置 | |
Senol et al. | Unveiling the Impact of User-Agent Reduction and Client Hints: A Measurement Study | |
CN113742663B (zh) | 水印文件获取方法、装置及电子设备 | |
CN110851754A (zh) | 网页访问方法及系统、计算机系统和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |