CN112839016A - 会话控制方法及装置 - Google Patents
会话控制方法及装置 Download PDFInfo
- Publication number
- CN112839016A CN112839016A CN201911166126.5A CN201911166126A CN112839016A CN 112839016 A CN112839016 A CN 112839016A CN 201911166126 A CN201911166126 A CN 201911166126A CN 112839016 A CN112839016 A CN 112839016A
- Authority
- CN
- China
- Prior art keywords
- session
- information
- historical
- session information
- user terminal
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
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)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种会话控制方法,该方法包括:接收用户终端发送的建立会话的http请求;获取所述http请求中的历史会话信息;判断所述历史会话信息是否处于有效期;当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。本发明还提供一种会话控制装置、服务器以及计算机可读存储介质。本发明通过在http请求和应答的过程中实现对历史会话信息的交换和验证,从而省略了部署第三方存储,节省了成本而且避免了第三方存储所存在的数据安全隐患。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种会话控制方法、装置、服务器及计算机可读存储介质。
背景技术
现有技术中,服务器通过运行NodeJS环境,处理用户终端发送过来的基于浏览器协议的会话请求,然后存储与用户终端之间的会话信息,用于对请求会话的用户终端进行统计和标识以进行用户分类,所述会话信息包括用户终端标识、会话标识、会话时间等。其中,对于会话信息的存储,服务器大多需要依赖Redis、Mongo、Mysql等第三方存储。也就是说,现有技术中,服务器与用户终端之间的会话控制过程中,需要额外的存储空间存储每个用户终端对应的会话信息。
当有大量的用户终端向服务器请求会话时,则需要花费较高成本额外部署第三方存储,增加了会话控制过程的繁杂度;而且,通过第三方存储,存在一定的数据安全隐患。
发明内容
本发明提出一种会话控制方法、装置、服务器及计算机可读存储介质,能够解决上述的会话控制过程中服务器需要部署第三方存储从而导致的繁杂度高、以及数据安全隐患的问题。
首先,为实现上述目的,本发明提供一种会话控制方法,所述方法包括:
接收用户终端发送的建立会话的http请求;获取所述http请求中的历史会话信息;判断所述历史会话信息是否处于有效期;当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。
在一个例子中,在所述根据所述历史会话信息中的会话ID与所述用户终端建立会话之前还包括:获取所述http请求中的用户信息;判断所述用户信息是否合法;当所述用户信息不合法时,则拒绝所述建立会话的http请求,并提示所述用户终端进行身份验证。
在一个例子中,所述判断所述用户信息是否合法包括:判断所述用户信息中的用户名密码是否与预先存储的用户名密码一致;以及判断所述用户信息中的用户终端ID是否与所述历史会话信息中的用户终端ID一致;当所述用户信息中的用户名密码正确且所述用户信息中的用户终端ID与所述历史会话信息中的用户终端ID一致时,判定所述用户信息合法。
在一个例子中,述获取所述http请求中的历史会话信息包括:获取所述http请求中的httponly属性的字段;对所述字段进行解密以获取所述历史会话信息。
在一个例子中,所述判断所述历史会话信息是否处于有效期包括:获取所述历史会话信息中的会话建立时间;当所述会话建立时间与当前时间的差值小于预设的时间阈值时,判定所述历史会话信息处于有效期。
在一个例子中,所述更新所述历史会话信息并写入到http应答包括:将所述历史会话信息中的会话建立时间替换为此次建立会话的时间,得到更新后的历史会话信息;将更新后的历史会话信息进行加密,并写入到http应答中的httponly属性的字段。
在一个例子中,所述方法还包括:当没有获取到所述http请求中的历史会话信息或者所述历史会话信息并未处于有效期时,则根据所述http请求的请求内容创建新会话ID,并根据所述新会话ID与所述用户终端建立会话。
此外,为实现上述目的,本发明还提供一种会话控制装置,所述装置包括:
接收模块,用于接收用户终端发送的建立会话的http请求;获取模块,用于获取所述http请求中的历史会话信息;判断模块,用于判断所述历史会话信息是否处于有效期;控制模块,用于当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。
进一步地,本发明还提出一种服务器,所述服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的会话控制方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的会话控制方法的步骤。
相较于现有技术,本发明所提出的会话控制方法、装置、服务器及计算机可读存储介质,能够在接收用户终端发送的建立会话的http请求之后,获取所述http请求中的历史会话信息;然后判断所述历史会话信息是否处于有效期,当所述历史会话信息处于有效期时,则根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。通过在http请求和应答的过程中实现对历史会话信息的交换和验证,从而省略了部署第三方存储,节省了成本而且避免了第三方存储所存在的数据安全隐患。
附图说明
图1是本发明一实施例的应用环境示意图;
图2是本发明会话控制方法一具体实施例的流程示意图;
图3是图2步骤S202中的获取所述http请求中的历史会话信息的过程的一具体实施例的流程示意图;
图4是图2步骤S204中的判断所述历史会话信息是否处于有效期的过程的一具体实施例的流程示意图;
图5是图2步骤S206中的更新所述历史会话信息并写入到http应答的过程的一具体实施例的流程示意图;
图6是基于图2的一具体实施例的流程示意图;
图7是图6步骤S602中的判断所述用户信息是否合法的过程的一具体实施例的流程示意图;
图8是本发明服务器一可选的硬件架构的示意图;
图9是本发明会话控制装置一实施例的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1是本发明一实施例的应用环境示意图。参阅图1所示,所述服务器1与用户终端连接,用户通过所述用户终端向所述服务器1发送建立会话的http请求,然后所述服务器1根据所述http请求中的历史会话信息判断是否接续历史会话还是新建会话。在本实施例中,所述服务器1可以是一个数据服务器,也可以是与数据服务器级联,作为数据服务器的附加组件的计算机设备,从而实现通过http请求实现会话控制功能。
图2是本发明会话控制方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以服务器为执行主体进行示例性描述。
如图2所示,所述会话控制方法可以包括步骤S200~S208,其中:
步骤S200,接收用户终端发送的建立会话的http请求。
具体地,用户终端与所述服务器1连接后,当需要与所述服务器建立会话时,则会向所述服务器1发送请求建立会话的请求,所述会话包括对所述服务器1上的目标资源的访问。在本实施例中,用户终端通过基于http协议的浏览器向所述服务器发送建立会话的请求,也就是说,用户终端发送http请求给所述服务器1。因此,所述服务器1可以接收由用户终端发送的建立会话的http请求。
步骤S202,获取所述http请求中的历史会话信息。
如图3所示,在一示例性的实施例中,步骤S202中的获取所述http请求中的历史会话信息,包括步骤S300~S302:
步骤S300,获取所述http请求中的httponly属性的字段。
步骤S302,对所述字段进行解密以获取所述历史会话信息。
具体地,所述http请求包括请求行、消息报头和请求正文。其中,所述消息报头中设置有httponly属性的字段(或者栏位)。在本实施例中,所述httponly字段预先设置用于存放用户信息和会话信息,所述用户信息包括用户账户信息和用户终端信息;所述会话信息包括用户终端与所述服务器的历史会话ID,以及历史会话建立时间等。在本实施例中,用户终端还会对所述http请求中的httponly栏位内的信息进行加密,比如AES加密。因此,所述服务器1在接收到用户终端发送的http请求之后,则会首先分析出所述http请求中的消息报头中的httponly属性的字段,然后对所述httponly字段进行AES解密得到用户信息和会话信息,所述会话信息也就是历史会话信息。
当然,在其他实施例中,由于http请求中会包括一个cookie字段用于存放用户信息,因此,也可以将cookie字段设置为httponly属性,然后用户终端将用户信息和历史会话信息存放到cookie字段中,最后发送给服务器1。而服务器1接收http请求后,获取httponly属性的cookie字段,对所述cookie字段进行解密,获取历史会话信息。
步骤S204,判断所述历史会话信息是否处于有效期。
如图4所示,在一示例性的实施例中,步骤S204中的判断所述历史会话信息是否处于有效期,包括步骤S400~S402:
步骤S400,获取所述历史会话信息中的会话建立时间。
步骤S402,当所述会话建立时间与当前时间的差值小于预设的时间阈值时,判定所述历史会话信息处于有效期。
具体地,所述服务器1在获取到所述http请求中的历史会话信息之后,则会获取所述历史会话信息中的会话建立时间,然后计算当前时间与所述会话建立时间的差值并与预设的时间阈值进行比较,当所述差值小于所述时间阈值时,则认为所述历史会话信息处于有效期。否则,所述服务器1则会认为所述历史会话信息建立的时间很早,已经过了有效期,存在一定的安全隐患。
步骤S206,当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。
如图5所示,在一示例性的实施例中,步骤S206中的更新所述历史会话信息并写入到http应答,包括步骤S500~S502:
步骤S500,将所述历史会话信息中的会话建立时间替换为此次建立会话的时间,得到更新后的历史会话信息。
步骤S502,将更新后的历史会话信息进行加密,并写入到http应答中的httponly属性的字段。
具体地,当所述服务器1判定所述历史会话信息处于有效期时,则直接从所述历史会话信息中获取历史会话ID,其中,所述历史会话ID表示用户终端与所述服务器1的历史会话对应的类型或者内容。接着,所述服务器1根据所述历史会话ID直接建立会话,并调用对应所述历史会话ID相关的历史会话记录,包括会话进度。最后,所述服务器1还会将所述历史会话信息中的建立时间进行更新,然后返回给用户终端。在本实施例中,所述服务器1将所述历史会话信息中的会话建立时间替换为此次建立会话的时间,得到更新后的历史会话信息,然后将更新后的历史会话信息进行加密,并写入到http应答中的httponly属性的字段,再将http应答发送给用户终端。通过将历史会话信息写入到httponly属性的字段,提高了历史会话信息的安全性。
步骤S208,当没有获取到所述http请求中的历史会话信息或者所述历史会话信息并未处于有效期时,则根据所述http请求的请求内容创建新会话ID,并根据所述新会话ID与所述用户终端建立会话。
具体地,当所述服务器1判定出所述历史会话信息并未处于有效期,或者所述http请求中没有历史会话信息,那么,所述服务器1则会直接根据所述http请求创建新会话ID,然后与用户终端建立对应的会话。最后,也会将所述会话信息进行加密,并写入到http应答中的httponly属性的字段,再将http应答发送给用户终端。
参阅图6所示,在另一具体实施例中,所述会话控制方法除了包括上述步骤S200~S208之外,还包括步骤S600~S604,所述步骤S600~S604在步骤S200之后及步骤S206之前执行。其中:
步骤S600,获取所述http请求中的用户信息。
步骤S602,判断所述用户信息是否合法。
步骤S604,当所述用户信息不合法时,则拒绝所述建立会话的http请求,并提示所述用户终端进行身份验证。
如图7所示,在一示例性的实施例中,步骤S602中的判断所述用户信息是否合法,包括步骤S700~S702:
步骤S700,判断所述用户信息中的用户名密码是否与预先存储的用户名密码一致;以及判断所述用户信息中的用户终端ID是否与所述历史会话信息中的用户终端ID一致。
步骤S702,当所述用户信息中的用户名密码正确且所述用户信息中的用户终端ID与所述历史会话信息中的用户终端ID一致时,判定所述用户信息合法。
具体地,由于用户信息与历史会话信息是具有关联关系的,只有在所述历史会话信息对应的用户信息请求会话时才会根据所述历史会话信息中的历史会话ID重新建立会话。因此,所述服务器1在获取到http请求中的用户信息和历史会话信息之后,还会对所述用户信息进行校验。判定所述用户信息中的用户名密码是否正确,在本实施例中,所述计算机设备1存储有用户名密码信息,因此可以通过将所述http请求中的用户名密码与存储的用户名密码进行比对,一致时则判定用户名密码正确。然后,进一步将判断用户信息中的用户终端ID是否与所述历史会话信息中的用户终端ID一致。当用户名密码和用户终端ID都判定为一致时,则认为用户信息合法,然后才能根据所述历史会话ID与所述用户终端建立会话。当判定出用户信息不一致,则认为用户信息不合法,那么所述服务器1则会拒绝所述建立会话的http请求,并发送提示消息给所述用户终端要求重新进行用户信息验证,比如提示重新输入用户名密码等。通过对用户信息的正确性判断,从而避免用户流量遭遇劫持后导致的计算机病毒攻击以及用户信息泄露。
从上文可知,本实施例所提出的会话控制方法能够在接收用户终端发送的建立会话的http请求之后,获取所述http请求中的历史会话信息;然后判断所述历史会话信息是否处于有效期,当所述历史会话信息处于有效期时,则根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。通过在http请求和应答的过程中实现对历史会话信息的交换和验证,从而省略了部署第三方存储,节省了成本而且避免了第三方存储所存在的数据安全隐患。
此外,本发明还提供一种服务器,参阅图8所示,是本发明服务器一可选的硬件架构的示意图。
本实施例中,所述服务器1可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。所述服务器1通过网络接口13连接网络(图8未标出),通过网络连接到用户终端,比如手机,平板电脑,用户设备,便携设备,PC机以及其他服务器等(图8未标出)进行数据交互。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division MultIPle Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
需要指出的是,图8仅示出了具有组件11-13的服务器1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述服务器1的内部存储单元,例如该服务器1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述服务器1的外部存储设备,例如该服务器1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述服务器1的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述服务器1的操作系统和各类应用软件,例如挡板应用的程序代码,以及会话控制装置200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述服务器1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述会话控制装置200的应用程序,这里不做限制。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述服务器1与用户终端等之间建立通信连接。
本实施例中,所述服务器1内安装并运行有会话控制装置200时,当所述会话控制装置200运行时,能够在接收用户终端发送的建立会话的http请求之后,获取所述http请求中的历史会话信息;然后判断所述历史会话信息是否处于有效期,当所述历史会话信息处于有效期时,则根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。通过在http请求和应答的过程中实现对历史会话信息的交换和验证,从而省略了部署第三方存储,节省了成本而且避免了第三方存储所存在的数据安全隐患。
至此,己经详细介绍了本发明服务器的硬件结构和功能。下面,将基于上述服务器,提出本发明的各个实施例。
参阅图9所示,是本发明会话控制装置200一实施例的程序模块图。
本实施例中,所述会话控制装置200包括一系列的存储于存储器11上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发明实施例的会话控制功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,会话控制装置200可以被划分为一个或多个模块。例如,在图9中,所述会话控制装置200可以被分割成接收模块201、获取模块202、检测模块203和限制模块204。其中:
所述接收模块201,用于接收用户终端发送的建立会话的http请求。
具体地,用户终端与所述服务器连接后,当需要与所述服务器建立会话时,则会向所述服务器发送请求建立会话的请求,所述会话包括对所述服务器上的目标资源的访问。在本实施例中,用户终端通过基于http协议的浏览器向所述服务器发送建立会话的请求,也就是说,用户终端发送http请求给所述服务器。因此,所述接收模块201可以接收由用户终端发送的建立会话的http请求。
所述获取模块202,用于获取所述http请求中的历史会话信息。
在本实施例中,所述获取模块202首先获取所述http请求中的httponly属性的字段,然后对所述字段进行解密以获取所述历史会话信息。
具体地,所述http请求包括请求行、消息报头和请求正文。其中,所述消息报头中设置有httponly属性的字段(或者栏位)。在本实施例中,所述httponly字段预先设置用于存放用户信息和会话信息,所述用户信息包括用户账户信息和用户终端信息;所述会话信息包括用户终端与所述服务器的历史会话ID,以及历史会话建立时间等。在本实施例中,用户终端还会对所述http请求中的httponly栏位内的信息进行加密,比如AES加密。因此,所述获取模块202在所述接收模块201接收到用户终端发送的http请求之后,则会首先分析出所述http请求中的消息报头中的httponly属性的字段,然后对所述httponly字段进行AES解密得到用户信息和会话信息,所述会话信息也就是历史会话信息。
当然,在其他实施例中,由于http请求中会包括一个cookie字段用于存放用户信息,因此,也可以将cookie字段设置为httponly属性,然后用户终端将用户信息和历史会话信息存放到cookie字段中,最后发送给服务器。而接收模块201接收http请求后,所述获取模块202则获取httponly属性的cookie字段,对所述cookie字段进行解密,从而获取历史会话信息。
所述判断模块203,用于判断所述历史会话信息是否处于有效期。
在本实施例中,所述判断模块203先获取所述历史会话信息中的会话建立时间,然后将所述会话建立时间与当前时间进行比较,当所述会话建立时间与当前时间的差值小于预设的时间阈值时,判定所述历史会话信息处于有效期。
具体地,所述判断模块203在获取到所述http请求中的历史会话信息之后,则会获取所述历史会话信息中的会话建立时间,然后计算当前时间与所述会话建立时间的差值并与预设的时间阈值进行比较,当所述差值小于所述时间阈值时,则认为所述历史会话信息处于有效期。否则,所述判断模块203则会认为所述历史会话信息建立的时间很早,已经过了有效期,存在一定的安全隐患。
所述控制模块204,用于当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。
具体地,当所述判断模块203判定所述历史会话信息处于有效期时,所述控制模块204则直接从所述历史会话信息中获取历史会话ID,其中,所述历史会话ID表示用户终端与所述服务器1的历史会话对应的类型或者内容,然后根据所述历史会话ID直接建立会话,并调用对应所述历史会话ID相关的历史会话记录,包括会话进度。当然,所述控制模块204还会将所述历史会话信息中的建立时间进行更新,然后返回给用户终端。在本实施例中,所述控制模块204将所述历史会话信息中的会话建立时间替换为此次建立会话的时间,得到更新后的历史会话信息,然后将更新后的历史会话信息进行加密,并写入到http应答中的httponly属性的字段,再将http应答发送给用户终端。在本实施例中,所述控制模块204实现更新所述历史会话信息并写入到http应答的过程包括:将所述历史会话信息中的会话建立时间替换为此次建立会话的时间,得到更新后的历史会话信息,然后将更新后的历史会话信息进行加密,并写入到http应答中的httponly属性的字段。
其中,如果所述判断模块203判断出所述历史会话信息并未处于有效期时,或者所述http请求中没有历史会话信息时,那么,所述控制模块204则根据所述http请求的请求内容创建新会话ID,并根据所述新会话ID与所述用户终端建立会话。
具体地,当所述判断模块203判定出所述历史会话信息并未处于有效期,或者所述http请求中没有历史会话信息,那么,所述控制模块204则会直接根据所述http请求创建新会话ID,然后与用户终端建立对应的会话。最后,也会将所述会话信息进行加密,并写入到http应答中的httponly属性的字段,再将http应答发送给用户终端。
另外,所述获取模块202还用于获取所述http请求中的用户信息;所述判断模块203还用于判断所述用户信息是否合法,并当所述用户信息不合法时,则拒绝所述建立会话的http请求,并提示所述用户终端进行身份验证。
在本实施例中,所述判断模块203判断所述用户信息是否合法的过程包括:判断所述用户信息中的用户名密码是否与预先存储的用户名密码一致,以及判断所述用户信息中的用户终端ID是否与所述历史会话信息中的用户终端ID一致;当所述用户信息中的用户名密码正确且所述用户信息中的用户终端ID与所述历史会话信息中的用户终端ID一致时,判定所述用户信息合法。
具体地,由于用户信息与历史会话信息是具有关联关系的,只有在所述历史会话信息对应的用户信息请求会话时才会根据所述历史会话信息中的历史会话ID重新建立会话。因此,所述获取模块202在获取到http请求中的用户信息和历史会话信息之后,所述判断模块203还会对所述用户信息进行校验,判定所述用户信息中的用户名密码是否正确,在本实施例中,所述计算机设备存储有用户名密码信息,因此所述判断模块203可以通过将所述http请求中的用户名密码与存储的用户名密码进行比对,一致时则判定用户名密码正确;然后进一步将判断用户信息中的用户终端ID是否与所述历史会话信息中的用户终端ID一致。当所述判断模块203判定出用户信息一致时,则认为用户信息合法,然后所述控制模块204才能根据所述历史会话ID与所述用户终端建立会话。当判定出用户信息不一致,则认为用户信息不合法,那么所述判断模块203则会拒绝所述建立会话的http请求,并发送提示消息给所述用户终端要求重新进行用户信息验证,比如提示重新输入用户名密码等。
从上文可知,所述服务器能够在接收用户终端发送的建立会话的http请求之后,获取所述http请求中的历史会话信息;然后判断所述历史会话信息是否处于有效期,当所述历史会话信息处于有效期时,则根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。通过在http请求和应答的过程中实现对历史会话信息的交换和验证,从而省略了部署第三方存储,节省了成本而且避免了第三方存储所存在的数据安全隐患。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种会话控制方法,其特征在于,所述方法包括:
接收用户终端发送的建立会话的http请求;
获取所述http请求中的历史会话信息;
判断所述历史会话信息是否处于有效期;
当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。
2.如权利要求1所述的会话控制方法,其特征在于,在所述根据所述历史会话信息中的会话ID与所述用户终端建立会话之前还包括:
获取所述http请求中的用户信息;
判断所述用户信息是否合法;
当所述用户信息不合法时,则拒绝所述建立会话的http请求,并提示所述用户终端进行身份验证。
3.如权利要求2所述的会话控制方法,其特征在于,所述判断所述用户信息是否合法包括:
判断所述用户信息中的用户名密码是否与预先存储的用户名密码一致;以及
判断所述用户信息中的用户终端ID是否与所述历史会话信息中的用户终端ID一致;
当所述用户信息中的用户名密码正确且所述用户信息中的用户终端ID与所述历史会话信息中的用户终端ID一致时,判定所述用户信息合法。
4.如权利要求1所述的会话控制方法,其特征在于,所述获取所述http请求中的历史会话信息包括:
获取所述http请求中的httponly属性的字段;
对所述字段进行解密以获取所述历史会话信息。
5.如权利要求1所述的会话控制方法,其特征在于,所述判断所述历史会话信息是否处于有效期包括:
获取所述历史会话信息中的会话建立时间;
当所述会话建立时间与当前时间的差值小于预设的时间阈值时,判定所述历史会话信息处于有效期。
6.如权利要求1所述的会话控制方法,其特征在于,所述更新所述历史会话信息并写入到http应答包括:
将所述历史会话信息中的会话建立时间替换为此次建立会话的时间,得到更新后的历史会话信息;
将更新后的历史会话信息进行加密,并写入到http应答中的httponly属性的字段。
7.如权利要求1所述的会话控制方法,其特征在于,所述方法还包括:
当没有获取到所述http请求中的历史会话信息或者所述历史会话信息并未处于有效期时,则根据所述http请求的请求内容创建新会话ID,并根据所述新会话ID与所述用户终端建立会话。
8.一种会话控制装置,其特征在于,所述装置包括:
接收模块,用于接收用户终端发送的建立会话的http请求;
获取模块,用于获取所述http请求中的历史会话信息;
判断模块,用于判断所述历史会话信息是否处于有效期;
控制模块,用于当所述历史会话信息处于有效期时,根据所述历史会话信息中的会话ID与所述用户终端建立会话,更新所述历史会话信息并写入到http应答,返回给所述用户终端。
9.一种服务器,其特征在于,所述服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7任一项所述的会话控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的会话控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166126.5A CN112839016B (zh) | 2019-11-25 | 2019-11-25 | 会话控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166126.5A CN112839016B (zh) | 2019-11-25 | 2019-11-25 | 会话控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839016A true CN112839016A (zh) | 2021-05-25 |
CN112839016B CN112839016B (zh) | 2023-03-21 |
Family
ID=75922204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911166126.5A Active CN112839016B (zh) | 2019-11-25 | 2019-11-25 | 会话控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839016B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532919A (zh) * | 2012-07-06 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 用户账户保持登录态的方法及系统 |
US20160080367A1 (en) * | 2012-08-23 | 2016-03-17 | Amazon Technologies, Inc. | Adaptive timeouts for security credentials |
CN106453661A (zh) * | 2016-12-09 | 2017-02-22 | 北京酷我科技有限公司 | 一种http服务器集群的会话管理方法 |
CN106973062A (zh) * | 2017-04-27 | 2017-07-21 | 努比亚技术有限公司 | 一种会话管理方法以及服务器 |
CN107483418A (zh) * | 2017-07-27 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 登录处理方法、业务处理方法、装置及服务器 |
CN110213356A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
CN110445744A (zh) * | 2018-05-02 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
-
2019
- 2019-11-25 CN CN201911166126.5A patent/CN112839016B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532919A (zh) * | 2012-07-06 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 用户账户保持登录态的方法及系统 |
US20160080367A1 (en) * | 2012-08-23 | 2016-03-17 | Amazon Technologies, Inc. | Adaptive timeouts for security credentials |
CN106453661A (zh) * | 2016-12-09 | 2017-02-22 | 北京酷我科技有限公司 | 一种http服务器集群的会话管理方法 |
CN106973062A (zh) * | 2017-04-27 | 2017-07-21 | 努比亚技术有限公司 | 一种会话管理方法以及服务器 |
CN107483418A (zh) * | 2017-07-27 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 登录处理方法、业务处理方法、装置及服务器 |
CN110445744A (zh) * | 2018-05-02 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN110213356A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于数据处理的登录处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112839016B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110365670B (zh) | 黑名单共享方法、装置、计算机设备和存储介质 | |
EP3800909B1 (en) | Remote management method, and device | |
CN105376216B (zh) | 一种远程访问方法、代理服务器及客户端 | |
US9338647B2 (en) | Mobile station with bond between end device and security element | |
EP2852118B1 (en) | Method for an enhanced authentication and/or an enhanced identification of a secure element located in a communication device, especially a user equipment | |
CN111107073B (zh) | 应用自动登录方法、装置、计算机设备和存储介质 | |
US20200196143A1 (en) | Public key-based service authentication method and system | |
CN104753674A (zh) | 一种应用身份的验证方法和设备 | |
CN108462700B (zh) | 后台服务器、终端设备、适用于人脸识别的安全预警方法及存储介质 | |
CN111586671B (zh) | 嵌入式用户识别卡配置方法、装置、通信设备和存储介质 | |
CN109145628B (zh) | 一种基于可信执行环境的数据采集方法及系统 | |
US20170286873A1 (en) | Electronic ticket management | |
CN111800262B (zh) | 数字资产的处理方法、装置和电子设备 | |
CN112241527B (zh) | 物联网终端设备的密钥生成方法、系统及电子设备 | |
CN108696870B (zh) | 一种基于swp-sim技术的移动终端身份认证方法 | |
CN112560009A (zh) | 一种鉴权方法、终端、客户端及计算机存储介质 | |
CN105187369A (zh) | 一种数据访问方法及装置 | |
KR101799517B1 (ko) | 인증 서버 및 방법 | |
CN108810084B (zh) | 使用加密代码卸载的基于移动的设备服务系统 | |
CN108574658B (zh) | 一种应用登录方法及其设备 | |
CN114143197A (zh) | 物联网设备ota升级方法、装置、设备及可读存储介质 | |
CN112839016B (zh) | 会话控制方法及装置 | |
CN108965335B (zh) | 防止恶意访问登录接口的方法、电子设备及计算机介质 | |
CN109561093B (zh) | 越权行为检测方法、装置、计算机设备和存储介质 | |
CN109688158B (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 |