CN112804201B - 一种获取设备信息的方法及装置 - Google Patents

一种获取设备信息的方法及装置 Download PDF

Info

Publication number
CN112804201B
CN112804201B CN202011612787.9A CN202011612787A CN112804201B CN 112804201 B CN112804201 B CN 112804201B CN 202011612787 A CN202011612787 A CN 202011612787A CN 112804201 B CN112804201 B CN 112804201B
Authority
CN
China
Prior art keywords
information
login
port
authentication server
equipment
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.)
Active
Application number
CN202011612787.9A
Other languages
English (en)
Other versions
CN112804201A (zh
Inventor
梁永波
叶晓虎
李凯
何坤
郑彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhou Lvmeng Chengdu Technology Co ltd
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Shenzhou Lvmeng Chengdu Technology Co ltd
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhou Lvmeng Chengdu Technology Co ltd, Nsfocus Technologies Inc, Nsfocus Technologies Group Co Ltd filed Critical Shenzhou Lvmeng Chengdu Technology Co ltd
Priority to CN202011612787.9A priority Critical patent/CN112804201B/zh
Publication of CN112804201A publication Critical patent/CN112804201A/zh
Application granted granted Critical
Publication of CN112804201B publication Critical patent/CN112804201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及网络安全技术领域,尤其涉及一种获取设备信息的方法及装置,解决在浏览器上登录网页进行认证时,获取设备信息的实现难度大且开发成本高的问题,方法为:向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,再加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。这样,无需修改交互数据的内容,极大的降低了开发成本,借助于配置的监听端口,极大的降低了浏览器获取设备信息的获取难度,节省了开发成本。

Description

一种获取设备信息的方法及装置
技术领域
本公开涉及网络安全技术领域,尤其涉及一种获取设备信息的方法及装置。
背景技术
用户通过浏览器登录***时,需要在***对应的认证服务器上完成登录验证,以判定用户在当前设备上登录***的权限或等级,故需要在认证时上传用户凭证以及设备信息。
目前,认证服务器获取设备信息的方法包括:方式一、通过在设备上部署终端软件,获取设备信息,并使得浏览器与认证服务器交互的数据流经终端软件,以实现在数据中添加设备信息;方式二、通过将终端软件获取的设备信息添加至报文中的指定位置,其中,设备信息在报文中的位置通过修改认证请求的超文本传输协议(HyperText TransferProtocol,http)而实现,所述位置可以是报文头部,或者,所述位置可以是https协议的ssl握手阶段的扩展字段中;方式三、通过配置浏览器插件的方式收集设备信息。
但是,对于方式一的实现方式来说,采用正向代理的方式实现设备信息的添加时,对于认证证书的维护成本高;对于方式二的实现方式来说,技术实现难度大,维护成本高;对于方式三的实现方式来说,由于不同浏览器插件的实现方式不同,不同的浏览器需要单独配置一套插件,大大增加了开发成本。
发明内容
本公开实施例提供一种获取设备信息的方法及装置,用以解决现有技术中存在的在浏览器上登录网页进行认证时,获取设备信息的实现难度大且开发成本高的问题。
本公开实施例提供的具体技术方案如下:
第一方面,提出一种获取设备信息的方法,应用于浏览器,包括:
向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件;
加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。
可选的,所述确定所述终端软件的监听端口,包括:
当所述操作脚本中配置有端口信息时,根据所述端口信息确定所述终端软件的监听端口;或者,
当所述操作脚本中未配置有端口信息时,向所述认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口。
可选的,所述按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,包括:
呈现所述登录页面,并响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;或者,
按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,并根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域。
可选的,所述根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域,包括:
确定认证所述登录页面上的登录验证信息的是第三方认证源时,将所述设备信息存储至小型文本文件Cookie;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至本地存储区域localStorage;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至会话存储区域sessionStorage;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至配置的存储区域。
可选的,所述访问所述监听端口以获取所述设备信息之后,进一步包括:
获取用于在所述登录页面上完成验证的登录验证信息,并将所述登录验证信息与所述设备信息封装为指定格式的字符串,以及将所述字符串发送至所述认证服务器;
接收所述认证服务器发送的登录验证结果,并呈现所述登录验证结果。
第二方面,提出一种获取设备信息的装置,应用于浏览器,包括:
发送单元,向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件;
获取单元,加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。
可选的,所述确定所述终端软件的监听端口时,所述获取单元具体用于:
当所述操作脚本中配置有端口信息时,根据所述端口信息确定所述终端软件的监听端口;或者,
当所述操作脚本中未配置有端口信息时,向所述认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口。
可选的,所述按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息时,所述获取单元具体用于:
呈现所述登录页面,并响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;或者,
按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,并根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域。
可选的,所述根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域时,所述获取单元用于:
确定认证所述登录页面上的登录验证信息的是第三方认证源时,将所述设备信息存储至小型文本文件Cookie;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至本地存储区域localStorage;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至会话存储区域sessionStorage;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至配置的存储区域。
可选的,所述访问所述监听端口以获取所述设备信息之后,所述获取单元进一步用于:
获取用于在所述登录页面上完成验证的登录验证信息,并将所述登录验证信息与所述设备信息封装为指定格式的字符串,以及将所述字符串发送至所述认证服务器;
接收所述认证服务器发送的登录验证结果,并呈现所述登录验证结果。
第三方面,提出一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现上述第一方面中任意一项所述的获取设备信息的方法。
第四方面,提出一种计算机可读存储介质,当所述存储介质中的指令由电子设备执行时,使得所述电子设备能够执行上述第一方面中任意一项所述的获取设备信息的方法。
本公开有益效果如下:
本公开实施例中,浏览器向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件,再加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。这样,通过在登录页面的网页代码中嵌入操作脚本,在浏览器请求访问登录页面时,即可将操作脚本下发至浏览器,由认证服务器统一下发的操作脚本易于维护,且无需修改交互数据的内容,极大的降低了开发成本,另外,借助于配置的监听端口,能够实现对终端设备的设备信息的有效获取,极大的降低了从终端设备上获取设备信息的获取难度,且整个获取过程无需额外配置浏览器插件弥补了现有技术下配置浏览器插件获取设备信息的缺陷,节省了开发成本。
附图说明
图1为本公开实施例中获取设备信息的流程示意图;
图2为本公开实施例中用户在浏览器上认证登录的交互示意图;
图3为本公开实施例中获取设备信息的装置的逻辑结构示意图;
图4为本公开实施例中获取设备信息的装置的实体结构示意图。
具体实施方式
为了使本公开的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
本领域技术人员知道,本公开的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
为了方便理解,下面对本公开实施例中涉及的名词进行解释:
终端软件:用于采集所安装的环境中的环境信息,本公开中,安装在终端设备上,用于采集终端设备的设备信息,所述设备信息包括但不限于终端设备的设备标识、终端设备的设备类型、终端设备的操作***,以及终端设备的风险等级信息。
操作脚本:应用于客户端网页开发的语言脚本,具体的体现形式包括但不限于JS脚本(JavaScript,JS),本公开中,由认证服务器配置,包含在登录页面的网页代码中,操作脚本中至少限定了获取安装有浏览器的终端设备的设备信息的操作。
http:超文本传输协议,是基于传输控制协议/网际协议通信协议来传输数据的协议(Transmission Control Protocol/Internet Protocol,TCP/IP)来传递数据,用于发起数据请求。
为了解决现有技术中存在的在浏览器上登录网页进行认证时,获取设备信息的实现难度大且开发成本高的问题,本公开针对性地提出了一种获取设备信息的方法,向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件,再加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。
需要说明的是,本公开实施例中,网页代码中可能包括有多个操作脚本,分别限定不同的操作,本公开中提及的操作脚本仅指代为获取终端设备的设备信息而配置的操作脚本,对于实现其他功能的操作脚本公开不做具体说明。
下面结合附图,对本公开实施例优选的实施方式进行进一步详细说明:
参阅附图1,其为本公开实施例中获取设备信息的流程示意图,下面结合附图1,对获取设备信息的过程进行详细说明:
步骤101:浏览器向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码。
浏览器向认证服务器发送针对所述登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述页面访问请求中携带有所述登录页面的地址信息,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件,所述设备信息包括但不限于终端设备的设备标识信息、设备类型信息、操作***信息,以及风险等级信息,所述操作脚本具体可以是JS脚本。
本公开的一些实施例中,所述登录页面的地址信息可以是用户在浏览器中直接输入的地址信息,本公开的另一些实施例中,所述登录页面的地址信息可以是触发浏览器访问的地址信息,如,触发的跳转链接所对应的地址信息。
需要说明的是,本公开实施例中,终端软件可以与认证服务器相关联,也就是说,所述认证服务器配置的操作脚本中,写入了访问所述终端软件的监听端口,使得浏览器在执行操作脚本时能够通过所述监听端口获取设备信息;所述终端软件也可以与所述认证服务器不关联,终端软件安装在终端设备中,用于采集终端设备的设备信息,认证服务器配置的操作脚本中,未写入监听端口的端口信息时,从所述认证服务器获取端口配置。
本公开实施例中,所述终端软件采集设备信息,并启动http服务,监听配置的监听端口,使得当浏览器访问所述监听端口时,能够通过所述监听端口,获取所述终端软件采集的设备信息,其中,所述监听端口可以根据实际情况配置,如,可以选择性的配置为80端口。
这样,借助于获取的网页代码,能够获得操作脚本,使得浏览器后续能够借助于获得的操作脚本,获取采集设备采集的终端设备的设备信息,且由认证服务器下发的网页代码具有通用性,无需针对不同浏览器进行分别配置,使得网页代码和操作脚本的维护简单,降低了开发的难度。
步骤102:浏览器加载网页代码,并确定终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取设备信息。
浏览器获得登录页面的网页代码后,获取所述网页代码中的操作脚本,并在加载网页代码后,呈现登录页面,并根据实际情况配置需要执行操作脚本。一些实施例中,可以配置为在进行登录验证操作之前执行操作脚本,另一些实施例中,所述浏览器可以在进行登录验证操作之后,执行操作脚本。
进一步的,所述浏览器确定终端软件的监听端口,其中,所述浏览器可以采用以下方式,确定所述终端软件的监听端口:
A1、当操作脚本中配置有端口信息时,根据所述端口信息确定所述终端软件的监听端口。
浏览器加载网页代码,确定接收的操作脚本中存在端口信息时,则说明接收到的认证服务器发送的操作脚本中预先配置有监听端口的端口信息,所述监听端口用于监听终端软件,以获得终端软件采集的终端设备的设备信息,其中,所述终端软件安装在所述终端设备上。
A2、当操作脚本中未配置有端口信息时,向认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口。
具体的,浏览器获取认证服务器发送的网页代码后,加载所述网页代码,确定操作脚本中未配置有端口信息时,向所述认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口,其中,所述认证服务器中保存有终端软件的监听端口的端口信息。
所述浏览器确定所述终端软件的监听端口后,按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,其中,访问所述监听端口以获取设备信息的方式可以是以下任意一种:
方式一、浏览器呈现登录页面,并响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。
浏览器呈现登录页面后,响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,其中,触发登录验证操作的方式可以是在登录页面上点击登录验证的按钮,或者,触发登录验证操作的方式可以是操作其他表征触发登录验证的控件,所述登录验证信息包括但不限于以下任意一项或组合:人脸信息;指纹信息;密码信息;短信信息。
进一步的,所述浏览器按照所述操作脚本所限定的操作,访问监听端口以获取终端设备的设备信息,具体的,所述浏览器按照操作脚本所限定的操作,并通过http协议访问监听端口以获取终端软件采集的设备信息,所述监听端口可以根据实际的通信情况进行配置,如,可以配置为监听本地地址的80端口。
下面以浏览器完成登录页面的加载后,执行操作脚本:JS脚本,向本地地址为127.0.0.1的80端口发起http请求,以获取本地的设备信息,接收的数据为JS对象简谱(JavaScript Object Notation,JSON)数据为例进行说明:
需要说明的是,本公开实施例中,对于获取的数据格式而言,数据格式可以是JSON格式或者可扩展标记语言(Extensible Markup Language,XML)格式,本公开对于不同格式的数据的获取逻辑相同,以下的叙述中将仅以JSON数据为例进行说明。
参阅表1所示,其为浏览器发起的http请求中请求参数示意图,浏览器采用http的REST请求,请求获取asset_info参数,其中,assert_info参数中包括有终端设备的设备标识信息(Identity,ID)、设备类型、操作***类型,以及风险等级信息。Host表征请求的方向,此处localhost具体指代本机。
表1
REST GET /v1.0/get_assert_info
HEADER Host localhost
进一步的,浏览器访问80端口,获取终端软件采集的终端设备的设备信息,参阅表2所示意的所述浏览器接收的返回参数示意,其中,STATUS:200表征已经成功处理请求,Content-Type表征获得的数据类型,BODY表明了请求的反馈内容,包括有用于描述成功处理的参数“ret”和“msg”,以及具体的设备信息。
表2
Figure BDA0002873358490000101
需要说明的是,在当前的实现方式中,在触发进行登录验证的场景下,在登录页面上的登录验证信息和设备信息的获取顺序为,先获取登录验证信息,再通过监听端口获取设备信息,进而在获取设备信息后直接将获得的登录验证信息和设备信息发送至用于认证是否具有登录权限的认证源,其中,所述认证源可以是认证服务器,或者,所述认证源可以是所述认证服务器认可的第三方认证源,以下的叙述中将仅以认证源为认证服务器为例进行示意性说明。
也就是说,在当前的实施方式中,浏览器在获取终端设备的设备信息后,由于将所述设备信息直接与获得的登录验证信息一道发送至相应的认证源,故无需考虑对于设备信息的存储。
进一步的,浏览器将获得的登录验证信息和设备信息发送至认证服务器时,可以采用分别提交或者同时提交的方式进行处理,具体的,一些实施例中,浏览器获取登录验证信息后,可以将登录验证信息封装为JSON字符串的形式,直接发送至认证服务器,并在接收到设备信息后,将所述设备信息同样封装为JSON字符串的形式,并发送至认证服务器,另一些实施例中,浏览器将获得的登录验证信息和设备信息一同发送至认证服务器,具体的,所述浏览器获取登录验证信息和设备信息后,将所述登录验证信息和设备信息统一封装为JSON字符串,并将封装的字符串发送至认证服务器。
这样,借助于监听端口,能够获取终端软件采集的设备信息,而且考虑到设备信息和登录验证信息的获取顺序,适应性的配置设备信息和登录验证信息的发送方式,实现了通过浏览器获取设备信息,保证了在浏览器的登录页面上进行登录验证的可靠性。
方式二、浏览器按照操作脚本所限定的操作,访问监听端口以获取设备信息,并根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域。
浏览器加载网页代码并确定终端软件的监听端口后,呈现登录页面,并按照操作脚本所限定的操作,访问监听端口以获取设备信息,以及根据认证所述登录页面上的登录验证信息的认证源,将获取的设备信息存储至与所述认证源对应的存储区域。
在当前的实现方式中,浏览器在获取登录验证信息之前,通过访问监控端口获取终端设备的设备信息,进而需要将获取的设备信息进行存储,等待完成登录验证信息的获取后,进行信息的上报操作。
需要说明的是,对于设备信息的存储位置,取决于认证登录验证信息的认证源,所述认证源可以是认证服务器,或者,所述认证源可以是所述认证服务器认可的第三方认证源。
具体的,所述浏览器针对不同的认证源,可以采用包括但不限于以下几种存储方式存储设备信息:
B1、确定认证所述登录页面上的登录验证信息的是第三方认证源时,将所述设备信息存储至Cookie。
具体的,浏览器确定认证所述登录页面上的登录验证信息的是第三方认证源时,将获得的设备信息存储至Cookie中,使得后续将获取的登录验证信息与所述设备信息上传至第三方认证源。
B2、确定认证所述登录页面上的登录验证信息的是认证服务器时,将所述设备信息存储至本地存储区域localStorage。
具体的,浏览器确定认证所述登录页面上的登录验证信息的是认证服务器时,将监听到的设备信息存储至本地存储区域localStorage,待后续获取登录验证信息后,获取本地存储区域内存储的设备信息,并将获得的设备信息和登录验证信息发送至认证服务器。
B3、确定认证所述登录页面上的登录验证信息的是认证服务器时,将所述设备信息存储至会话存储区域sessionStorage。
具体的,浏览器确定认证所述登录页面上的登录验证信息的是认证服务器时,将监听到的设备信息存储至会话存储区域sessionStorage,待后续获取登录验证信息后,获取会话存储区域内存储的设备信息,并将获得的设备信息和登录验证信息发送至认证服务器。
B4、确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至配置的存储区域。
需要说明的是,当认证登录页面上的登录验证信息的是认证服务器时,可以将监听到的设备信息存储至本地存储区域、会话存储区域,或者,配置的其他可用存储区域内,其中,优选的将登录验证信息存储在会话存储区域。具体的获取设备信息的请求方式与上述表1和表2中示意的内容相同,本公开在此不再赘述。
这样,在监听到终端软件采集的设备信息,并需要对所述设备信息进行存储的情况下,能够有效考虑到不同认证源的数据获取需要,针对性的将数据存储至相应的存储区域,另外,借助于配置的监听端口,能够实现对终端设备的设备信息的有效获取,极大的降低了浏览器获取设备信息的获取难度,且整个获取过程无需额外配置浏览器插件弥补了现有技术下配置浏览器插件获取设备信息的缺陷,节省了开发成本。
进一步的,所述浏览器访问所述监听端口以获取所述设备信息之后,将获取的设备信息,以及用于在登录页面上完成验证的登录验证信息,发送认证服务器,其中,设备信息和登录验证信息可以采用分别发送的方式发送至认证服务器,或者,可以采用同时发送的方式发送至认证服务器。
下面的说明中,仅以将设备信息和登录验证信息同时发送至认证服务器为例进行说明。
所述浏览器获取用于在所述登录页面上完成验证的登录验证信息,并将所述登录验证信息与所述设备信息封装为指定格式的字符串,以及将所述字符串发送至所述认证服务器,然后,接收所述认证服务器发送的登录验证结果,并呈现所述登录验证结果。
继续表1和表2获取的内容进行示意性说明,浏览器获取设备信息后,将获取到的数据通过sessionStorage.setItem()函数将assert_info字段对应的JSON字符串存放于指定的存储位置。存放位置包括但不限于:浏览器的sessionStorage、浏览器的localStorage、cookie,以及配置的其他存储区域。
表3为浏览器发起http请求将设备信息和登录验证信息提交到认证服务器的参数示意表,所述浏览器响应于在登录界面上输入的登录验证信息后,触发登录验证操作,调用sessionStorage.getItem()将存储的设备信息数据assert_info取出,与登录验证信息user_info一起封装成一个JSON字符串后,通过send()函数发起http请求,并提交到认证服务器,其中,由于网页代码的编写框架不同,发起请求方式包括但不限于reactjs框架的fetch()函数、jquery框架的ajax()函数。参考浏览器将设备信息和登录验证信息封装为JSON字符串,以http请求的形式发送至认证服务器,user_info中包括有登录验证信息,assert_info中包括有监听得到的设备信息。
表3
Figure BDA0002873358490000141
表4
Figure BDA0002873358490000142
进一步的,在认证服务器接收到设备信息和登录验证信息后,所述认证服务器根据自身的判定策略,进行验证,并将验证结果反馈给浏览器,所述浏览器将验证结果呈现在登录页面上。
参考表4所示,其为认证成功时,浏览器接收到的返回参述示意。反馈的参数“ret”值为0则说明验证成功,反馈的“ret”值非0则说明验证失败。
这样,借助于认证服务器的反馈信息,能够呈现认证结果,使得后续能够根据得到的认证结果进行针对性的操作。
参阅图2所示,其为本公开实施例中用户在浏览器上认证登录的交互示意图,下面结合附图2,对用户在安装有浏览器的终端设备上,通过浏览器进行登录验证的过程进行说明。
步骤201:终端设备上的终端软件采集所述终端设备的设备信息。
终端设备上安装的终端软件,实时采集所述终端设备的设备信息,所述设备信息,所述设备信息包括但不限于终端设备的设备标识、设备类型、操作***,以及漏洞补丁、风险等级分数等信息,其中,所述终端软件能够通过监听端口被监听,使得其他软件能够获取所述终端软件采集的设备信息。
步骤202:终端设备上的浏览器向认证服务器发送登录页面的页面访问请求。
具体的,用户在浏览器上触发对认证服务器的访问操作,意图完成在登录页面上的认证登录,使得浏览器向认证服务器发起对于所述登录页面的页面访问请求,所述页面访问请求中携带有所述登录页面的地址信息,所述地址信息用于确定获取对应的网页代码。
步骤203:认证服务器向终端设备的浏览器发送包含操作脚本的登录页面的网页代码。
具体的,认证服务器接收终端设备的浏览器发送的页面访问请求后,确定所述页面访问请求对应的网页代码,并向终端设备的浏览器发送所述网页代码,其中,所述网页代码中包括用于指示浏览器获取终端设备的设备信息的操作脚本。
步骤204:终端设备的浏览器执行操作脚本,访问监听端口。
终端设备的浏览器加载获得的网页代码,呈现登录页面,并确定终端软件的监听端口,以及执行所述操作脚本限定的操作,访问所述监听端口以获得所述终端设备的设备信息。具体的,所述浏览器通过http协议访问本地的监听端口。
步骤205:终端设备的终端软件向浏览器发送采集的设备信息。
步骤206:终端设备的浏览器获取登录验证信息。
具体的,浏览器响应于用户在登录页面上的登录验证操作,获取用于进行用户身份验证的登录验证信息。
步骤207:终端设备的浏览器将登录验证信息和设备信息发送至认证服务器。
具体的,浏览器获取登录验证信息和设备信息后,将登录验证信息和设备信息封装为字符串的形式,发送至认证服务器,其中,登录验证信息和设备信息的封装方式和发送方式已经图1的流程图中进行详细说明,本公开在此不再赘述。
步骤208:认证服务器向终端设备的浏览器反馈认证结果。
认证服务器接收到登录验证信息和设备信息后,按照自身的验证策略,对登录验证信息和设备信息进行验证后,向终端设备的浏览器反馈认证结果。
基于同一发明构思,参阅图3所示,其为本公开实施例中获取设备信息的装置的逻辑结构示意图,提出一种获取设备信息的装置,包括:发送单元301和获取单元302,其中,
发送单元301,向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件;
获取单元302,加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。
可选的,所述确定所述终端软件的监听端口时,所述获取单元302具体用于:
当所述操作脚本中配置有端口信息时,根据所述端口信息确定所述终端软件的监听端口;或者,
当所述操作脚本中未配置有端口信息时,向所述认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口。
可选的,所述按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息时,所述获取单元302具体用于:
呈现所述登录页面,并响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;或者,
按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,并根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域。
可选的,所述根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域时,所述获取单元302用于:
确定认证所述登录页面上的登录验证信息的是第三方认证源时,将所述设备信息存储至小型文本文件;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至本地存储区域;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至会话存储区域;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至配置的存储区域。
可选的,所述访问所述监听端口以获取所述设备信息之后,所述获取单元302进一步用于:
获取用于在所述登录页面上完成验证的登录验证信息,并将所述登录验证信息与所述设备信息封装为指定格式的字符串,以及将所述字符串发送至所述认证服务器;
接收所述认证服务器发送的登录验证结果,并呈现所述登录验证结果。
基于同一发明构思,参阅图4所示,其为本公开实施例中获取设备信息的装置的实体结构示意图,获取设备信息的装置400具体为承载浏览器的终端设备,包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。
装置400还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置400可以操作基于存储在存储器432的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似***。
基于同一发明构思,本公开实施例中基于获取设备信息的实施例中提供一种存储介质,当所述存储介质中的指令由电子设备执行时,使得所述电子设备能够执行上述任一种方法。
综上所述,本公开实施例中,浏览器向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件,再加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息。这样,通过在登录页面的网页代码中嵌入操作脚本,在浏览器请求访问登录页面时,即可将操作脚本下发至浏览器,由认证服务器统一下发的操作脚本易于维护,且无需修改交互数据的内容,极大的降低了开发成本,另外,借助于配置的监听端口,能够实现对终端设备的设备信息的有效获取,极大的降低了浏览器获取设备信息的获取难度,且整个获取过程无需额外配置浏览器插件弥补了现有技术下配置浏览器插件获取设备信息的缺陷,节省了开发成本。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开实施例进行各种改动和变型而不脱离本公开实施例的精神和范围。这样,倘若本公开实施例的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (10)

1.一种获取设备信息的方法,其特征在于,应用于浏览器,包括:
向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件;
加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;
所述访问所述监听端口以获取所述设备信息之后,将所述设备信息和用于在登录页面上完成验证的登录验证信息,发送至所述认证服务器,以使所述认证服务器验证是否具有登录权限。
2.如权利要求1所述的方法,其特征在于,所述确定所述终端软件的监听端口,包括:
当所述操作脚本中配置有端口信息时,根据所述端口信息确定所述终端软件的监听端口;或者,
当所述操作脚本中未配置有端口信息时,向所述认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口。
3.如权利要求1所述的方法,其特征在于,所述按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,包括:
呈现所述登录页面,并响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;或者,
按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,并根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域。
4.如权利要求3所述的方法,其特征在于,所述根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域,包括:
确定认证所述登录页面上的登录验证信息的是第三方认证源时,将所述设备信息存储至小型文本文件Cookie;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至本地存储区域localStorage;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至会话存储区域sessionStorage;或者,
确定认证所述登录页面上的登录验证信息的是所述认证服务器时,将所述设备信息存储至配置的存储区域。
5.如权利要求1-4任意一项所述的方法,其特征在于,所述访问所述监听端口以获取所述设备信息之后,进一步包括:
获取用于在所述登录页面上完成验证的登录验证信息,并将所述登录验证信息与所述设备信息封装为指定格式的字符串,以及将所述字符串发送至所述认证服务器;
接收所述认证服务器发送的登录验证结果,并呈现所述登录验证结果。
6.一种获取设备信息的装置,其特征在于,应用于浏览器,包括:
发送单元,向认证服务器发送针对登录页面的页面访问请求,并接收所述认证服务器发送的所述登录页面的网页代码,其中,所述网页代码中包括获取终端设备的设备信息的操作脚本,所述终端设备中安装有所述浏览器和用于采集所述设备信息的终端软件;
获取单元,加载所述网页代码,并确定所述终端软件的监听端口,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;所述访问所述监听端口以获取所述设备信息之后,将所述设备信息和用于在登录页面上完成验证的登录验证信息,发送至所述认证服务器,以使所述认证服务器验证是否具有登录权限。
7.如权利要求6所述的装置,其特征在于,所述确定所述终端软件的监听端口时,所述获取单元具体用于:
当所述操作脚本中配置有端口信息时,根据所述端口信息确定所述终端软件的监听端口;或者,
当所述操作脚本中未配置有端口信息时,向所述认证服务器请求获取端口配置信息,并根据获得的端口配置信息,确定所述终端软件的监听端口。
8.如权利要求6所述的装置,其特征在于,所述按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息时,所述获取单元具体用于:
呈现所述登录页面,并响应于在所述登录页面上触发的登录验证操作,获取对应的登录验证信息,以及按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息;或者,
按照所述操作脚本所限定的操作,访问所述监听端口以获取所述设备信息,并根据认证所述登录页面上的登录验证信息的认证源,将所述设备信息存储至与所述认证源对应的存储区域。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现如权利要求1至5中任一项所述的获取设备信息的方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备执行时,使得所述电子设备执行如权利要求1至5中任一项所述的获取设备信息的方法。
CN202011612787.9A 2020-12-30 2020-12-30 一种获取设备信息的方法及装置 Active CN112804201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011612787.9A CN112804201B (zh) 2020-12-30 2020-12-30 一种获取设备信息的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011612787.9A CN112804201B (zh) 2020-12-30 2020-12-30 一种获取设备信息的方法及装置

Publications (2)

Publication Number Publication Date
CN112804201A CN112804201A (zh) 2021-05-14
CN112804201B true CN112804201B (zh) 2023-04-28

Family

ID=75805879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011612787.9A Active CN112804201B (zh) 2020-12-30 2020-12-30 一种获取设备信息的方法及装置

Country Status (1)

Country Link
CN (1) CN112804201B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377621B (zh) * 2021-07-01 2022-08-02 武汉斗鱼鱼乐网络科技有限公司 一种数据监听方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065616A (zh) * 2013-03-20 2014-09-24 ***通信集团公司 单点登录方法和***
CN109743233A (zh) * 2019-02-19 2019-05-10 南威软件股份有限公司 一种对强身份认证***进行数据采集的方法及计算机设备
CN111859235A (zh) * 2020-06-08 2020-10-30 瑞数信息技术(上海)有限公司 一种网页数据采集方法、装置、设备和计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8528066B2 (en) * 2009-08-25 2013-09-03 Microsoft Corporation Methods and apparatus for enabling context sharing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065616A (zh) * 2013-03-20 2014-09-24 ***通信集团公司 单点登录方法和***
CN109743233A (zh) * 2019-02-19 2019-05-10 南威软件股份有限公司 一种对强身份认证***进行数据采集的方法及计算机设备
CN111859235A (zh) * 2020-06-08 2020-10-30 瑞数信息技术(上海)有限公司 一种网页数据采集方法、装置、设备和计算机存储介质

Also Published As

Publication number Publication date
CN112804201A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN112703713B (zh) 针对服务提供者的自动单次登录配置
US10721320B2 (en) Redirection method, apparatus, and system
US11381629B2 (en) Passive detection of forged web browsers
CN102685081B (zh) 一种网页请求安全处理方法及***
US8448233B2 (en) Dealing with web attacks using cryptographically signed HTTP cookies
US11907700B2 (en) Upgrading method and system, server, and terminal device
US10419431B2 (en) Preventing cross-site request forgery using environment fingerprints of a client device
WO2020237799A1 (zh) 一种网站探测的方法和***
CN112491776B (zh) 安全认证方法及相关设备
CN105991518B (zh) 网络接入认证方法及装置
CN113341798A (zh) 远程访问应用的方法、***、装置、设备及存储介质
US11201866B1 (en) Secure identity provider authentication for native application to access web service
CN115022047B (zh) 基于多云网关的账户登录方法、装置、计算机设备及介质
CN112804201B (zh) 一种获取设备信息的方法及装置
WO2019237950A1 (zh) 安全验证方法和装置
US9762535B2 (en) Information processing apparatus, system, method and medium
CN115001840B (zh) 一种基于代理的鉴权方法、***及计算机储存介质
CN104954331A (zh) 一种登录认证配置装置及方法
CN109286665B (zh) 实时移动游戏长链接处理方法及装置
CN113766186A (zh) 网络摄像机配置界面的跳转方法、装置、***和电子装置
CN105554170A (zh) 一种dns报文的处理方法、装置及***
US10491654B2 (en) Communicating with a remote service through a hypertext transfer protocol (HTTP) session
US20170187716A1 (en) Service request modification
CN113127821A (zh) 身份验证方法、装置、电子设备及存储介质
CN110933034A (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
GR01 Patent grant
GR01 Patent grant