CN104683361A - 一种网站会话存储方法、网站访问方法及装置 - Google Patents
一种网站会话存储方法、网站访问方法及装置 Download PDFInfo
- Publication number
- CN104683361A CN104683361A CN201510143521.7A CN201510143521A CN104683361A CN 104683361 A CN104683361 A CN 104683361A CN 201510143521 A CN201510143521 A CN 201510143521A CN 104683361 A CN104683361 A CN 104683361A
- Authority
- CN
- China
- Prior art keywords
- session
- client
- data
- website
- hash value
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种网站会话存储方法、网站访问方法及装置,其中网站会话存储方法包括:在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。本发明减轻了网站服务器的工作负担,减少了网站服务器对客户端的响应速度的影响。
Description
技术领域
本发明涉及网站技术领域,具体涉及一种网站会话存储方法、网站访问方法及装置。
背景技术
网站会话(session)是指客户端打开一个浏览组件(如浏览器),以登录状态访问某一个网站,在这个网站点击多个链接,访问网站服务器的多个web资源,然后关闭浏览组件的整个过程;网站会话过程涉及的数据以session数据的方式保存在网站服务器中。
每个客户端的session数据在网站服务器中是独立存储的;网站服务器中设置有session池,用来存储每个客户端的session数据;为了对各客户端的session数据进行区别,session池存储session数据的每个存储单元均对应有sessionId(标签),各存储单元的sessionId的值是唯一的;网站服务器可将sessionId返回给对应的客户端;客户端通过浏览组件访问网站时,可携带着对应的sessionId,从而使得网站服务器可从session池中找到客户端对应的session存储单元,进而调取到客户端对应的session数据,识别到当前客户端的身份,通过该session数据实现客户端与网站的会话维持。
可以看出,目前的网站会话存储方式,session数据是存储在网络端的session池中,客户端在与网站服务器维持会话时,网站服务器需要根据客户端上传的sessionId从session池中读取并重建相应的session数据;然而与网站服务器维持会话的客户端往往具有多个,网站服务器频繁的从session池中读取并重新session数据,将增加网站服务器的工作负担,导致网站服务器的工作负担较大,影响网站服务器对客户端的响应速度。
发明内容
有鉴于此,本发明实施例提供一种网站会话存储方法、网站访问方法及装置,以解决现有网站会话存储方式所存在的网站服务器的工作负担较大,影响网站服务器对客户端的响应速度的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种网站会话存储方法,应用于网站服务器,所述方法包括:
在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
其中,所述获取与生成所述客户端的session数据对应的会话内容包括:
获取所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息。
其中,所述将所述会话内容存入所述cookie数据包括:
将所述登录用户名,所述ID标识,所述身份状态信息进行序列化处理,将序列化处理的结果存入所述cookie数据。
其中,所述将所述cookie数据返回至所述客户端包括:
在所述cookie数据中加入原始hash值及所述原始hash值的生成内容;
将加入原始hash值及所述原始hash值的生成内容的cookie数据返回至所述客户端。
本发明实施例还提供一种网站访问方法,应用于网站服务器,所述方法包括:
在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容;
根据所述会话内容恢复与所述客户端相应的session数据,以维持所述客户端与网站的会话。
其中,所述cookie数据还包括原始hash值及所述原始hash值的生成内容;
所述根据所述会话内容恢复与所述客户端相应的session数据包括:
读取所述原始hash值的生成内容,根据所述原始hash值的生成内容生成新hash值;
若所述新hash值与所述原始hash值一致,则确定所述cookie数据合法;
在确定所述cookie数据合法后,根据所述会话内容恢复与所述客户端相应的session数据。
其中,所述根据所述原始hash值的生成内容生成新hash值包括:
根据所述原始hash值的生成内容与设定验证码生成新hash值;其中,所述原始hash值通过所述原始hash值的生成内容与所述设定验证码生成。
其中,所述会话内容包括:所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息;
所述根据所述会话内容恢复与所述客户端相应的session数据包括:
从所述cookie数据中反序列化处理所述登录用户名,所述ID标识,和所述身份状态信息,根据反序列化处理结果恢复相应的session数据。
本发明实施例还提供一种网站会话存储装置,应用于网站服务器,所述装置包括:
会话内容获取模块,用于在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
cookie数据生成模块,用于创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
数据返回模块,用于将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
本发明实施例还提供一种网站访问装置,应用于网站服务器,所述装置包括:
cookie数据获取模块,用于在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容;
session数据恢复模块,用于根据所述会话内容恢复与所述客户端相应的session数据,以维持所述客户端与网站的会话。
基于上述技术方案,本发明实施例提供的网站会话存储方法,在客户端登录网站后,网站服务器可获取与生成所述客户端的session数据对应的会话内容,从而创建与所述客户端相应的cookie数据,并将所述会话内容存入所述cookie数据,将所述cookie数据返回至所述客户端,由客户端实现会话存储。本发明实施例提供的网站会话存储方法,将会话采用cookie数据的方式存储在客户端中,可使得客户端在访问网站时,网站服务器可通过客户端发送的cookie数据中的会话内容实现相应session数据的恢复,避免了网站服务器对session池的频繁读取和重建session数据,减轻了网站服务器的工作负担,减少了网站服务器对客户端的响应速度的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的网站会话存储方法的流程图;
图2为本发明实施例提供的网站会话存储方法的另一流程图;
图3为本发明实施例提供的网站会话存储方法的再一流程图;
图4为本发明实施例提供的网站访问方法的流程图;
图5为本发明实施例提供的网站访问方法的另一流程图;
图6为本发明实施例提供的网站会话存储装置的结构框图;
图7为本发明实施例提供的会话内容获取模块的结构框图;
图8为本发明实施例提供的cookie数据生成模块的结构框图;
图9为本发明实施例提供的数据返回模块的结构框图;
图10为本发明实施例提供的网站访问装置的结构框图;
图11为本发明实施例提供的session数据恢复模块的结构框图;
图12为本发明实施例提供的读取生成单元的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的网站会话存储方法的流程图,该方法可应用于网站服务器;参照图1,该方法可以包括:
步骤S100、在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
可选的,客户端可以自动登录方式登录网站;如在客户端本地存储登录用户名和登录密码,在客户端访问网站时,自动调取本地存储的登录用户名和登录密码并发送至网站服务器,网站服务器认证登录用户名和登录密码匹配后,实现客户端登录网站;
可选的,客户端的登录用户名和登录密码也可由用户输入,用户可在网站的登录界面输入登录用户名和登录密码,客户端向网站服务器发送用户输入的登录用户名和登录密码,网站服务器认证登录用户名和登录密码匹配后,实现客户端登录网站;
可选的,会话内容可以认为是现有技术中生成session数据的源数据,包括但不限于登录用户名,ID标识,持久化的身份状态信息等;可选的,本发明实施例可选取生成session数据的源数据中的几项信息作为会话内容,具体选取的信息可视实际使用情况而定。
步骤S110、创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
步骤S120、将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
在现有技术中,客户端与网站的会话维持是通过存储在网络端的session池中的session数据实现,为避免网站服务器在session池中频繁的读取和重建session数据,本发明实施例可采用生成session数据的会话内容生成cookie数据,并将cookie数据反馈至客户端;客户端在访问网站时,可通过向网站服务器发送cookie数据,网站服务器可通过cookie数据中携带的会话内容实现对应session数据的恢复,避免了网站服务器对session池的频繁读取;其中,cookie是一种能够让网站服务器把数据存储到客户端上的技术。
可以看出,本发明实施例提供的网站会话存储方法,在客户端登录网站后,网站服务器可获取与生成所述客户端的session数据对应的会话内容,从而创建与所述客户端相应的cookie数据,并将所述会话内容存入所述cookie数据,将所述cookie数据返回至所述客户端,由客户端实现会话存储。本发明实施例提供的网站会话存储方法,将会话采用cookie数据的方式存储在客户端中,可使得客户端在访问网站时,网站服务器可通过客户端发送的cookie数据中的会话内容实现相应session数据的恢复,避免了网站服务器对session池的频繁读取和重建session数据,减轻了网站服务器的工作负担,减少了网站服务器对客户端的响应速度的影响。
值得注意的是,数据库一般是网站运行速度的瓶颈所在,相比通过已获取的数据(cookie数据)进行session数据的恢复,和从数据库(session池)中读取数据再重建session数据这两种方式;显然本发明实施例提供的在客户端中以cookie数据进行会话存储,网站服务器通过cookie数据恢复session数据的方式,对于网站服务器的负担较小。
可选的,在图1所示的采用客户端以cookie数据进行会话存储的基础上,本发明实施例也可仍在网站服务器中进行session数据的存储,只是在作客户端与网站的会话维持时,本发明实施例是通过客户端的cookie数据恢复session数据来实现的;对应的,图1所示方法还可以包括:通过所述会话内容生成与所述客户端相应的session数据,并存储(如存储在session池中)。
可选的,会话内容可以包括:客户端登录网站时的登录用户名,该登录用户名相应的ID标识(ID标识可指创建登录用户名时,网站服务器分配的用户唯一编号等),该登录用户名相应的持久化的身份状态信息(持久化的身份状态信息可以是用来识别用户身份的数据)等。
图2示出了本发明实施例提供的网站会话存储方法的另一流程图,参照图2,该方法可以包括:
步骤S200、在客户端登录网站后,获取所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息;
步骤S210、创建与所述客户端相应的cookie数据,将所述登录用户名,所述ID标识,所述身份状态信息存入所述cookie数据;
可选的,本发明实施例可先对所述登录用户名,所述ID标识,所述身份状态信息进行序列化处理,再将序列化处理的结果存入所述cookie数据。
步骤S220、将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
为便于理解,下面以网站服务器生成cookie数据的过程为例,对图2所示方法进行说明:
1、客户端登录时,若网站服务器发现还没有创建认证标识_identity,则网站服务器将会建立UserIdentity的实例化对象,然后调用该对象的authenticate方法;可选代码如下:
上述过程可以认为是网站服务器使用客户端登录时的登录用户名,在用户名数据库(存储有已注册用户的用户名)中进行检索,然后匹配客户端登录时的登录密码是否与登录用户名相匹配,并根据匹配结果返回不同的认证结果;
2、在认证成功后,网站服务器开始执行实际的登录过程;网站服务器可调用Yii::app()->user方法实例化出cwebuser对象,然后调用这个对象中的login方法,进行客户端登录;可选代码如下:
$duration=$this->rememberMe?3600*24*30:0;//30days
Yii::app()->user->login($this->_identity,$duration)
3、网站服务器获取登录用户的ID标识,然后调用$identity->getPersistentStates()获取登录用户的持久化的身份状态信息;这里的身份状态是网站服务器在程序运行阶段产生的,包括但不限于用户名;在获取到ID标识,登录用户名和持久化的身份状态信息后,可将ID标识,登录用户名和持久化的身份状态信息存入session数据中,此时已实现了客户端登录流程;可选代码如下:
4、利用认证前缀名创建一个客户端的cookie,然后将获取到ID标识,登录用户名和持久化的身份状态信息经过序列化处理后存放到cookie中,并发送到客户端;
可选的,若采用自动登录,则可定义cookie在客户端中存储的默认时间(如30天等,具体时间可根据实际情况设定),当客户端确定cookie的存储时间戳不为0,则开始自动登录流程的操作;同时客户端在访问网站时,将向网站服务器发送cookie,以使网站服务器从cookie中恢复session数据,维持和客户端的会话。
可选的,为避免存储在客户端的cookie数据被恶意篡改,本发明实施例可采用hash(哈希)方式验证客户端发送给网站服务器的cookie数据的合法性;可选的,网站服务器可在向客户端返回的cookie数据中加入原始hash值及所述原始hash值的生成内容;当网站服务器获取到客户端发送的cookie数据后,可调取cookie数据中的所述原始hash值的生成内容,并通过所述原始hash值的生成内容生成新hash值,将该新hash值与cookie数据中的原始hash值进行比对,只有在新hash值与原始hash值一致时,才确定客户端发送给网站服务器的cookie数据为合法的,并未被恶意篡改,此时网站服务器可通过该合法的cookie数据进行session数据的恢复,以维持与客户端的会话。
对应的,图3示出了本发明实施例提供的网站会话存储方法的再一流程图,参照图3,该方法可以包括:
步骤S300、在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
步骤S310、创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
步骤S320、在所述cookie数据中加入原始hash值及所述原始hash值的生成内容;
步骤S330、将加入原始hash值及所述原始hash值的生成内容的cookie数据返回至所述客户端。
在本发明实施例中,网站服务器可生成一个包含会话内容的cookie数据,在该cookie数据中加入原始hash值及所述原始hash值的生成内容,并发送至客户端的浏览组件中;根据cookie数据的存储默认时间,cookie数据可在浏览组件中保存一段时间;当客户端通过浏览组件访问网站时,客户端将在HTTP请求中将cookie数据发送至网站服务器;网站服务器验证发过来的cookie数据是否合法;即调取cookie数据中的所述原始hash值的生成内容,根据设定的hash值生成方法生成新hash值,将新hash值与cookie数据中的原始hash值进行比较,如果相同,则确定发过来的cookie数据合法,否则确定发过来的cookie数据非法;
以如下cookie数据为例:
cookie name:
b72e8610f8decd39683f245d41394b56;
Cookie value:
1cbb64bdea3e92c4ab5d5cb16a67637158563114a%3A4%3A%7Bi%3A0%3Bs%3A7%3A%22maxwell%22%3Bi%3A1%3Bs%3A7%3A%22maxwell%22%3Bi%3A2%3Bi%3A3600%3Bi%3A3%3Ba%3A2%3A%7Bs%3A8%3A%22realname%22%3Bs%3A6%3A%22helloc%22%3Bs%3A4%3A%22myId%22%3Bi%3A123%3B%7D%7D;
其中,cookie name可以是网站服务器统一生成的md5值;cookie value的值分为两个部分,前部分为原始hash值,后部分为原始hash值的生成内容;也就是说前部分1cbb64bdea3e92c4ab5d5cb16a67637158563114是原始hash值,后部分是原始hash值的生成内容;网站服务器根据后部分的内容可通过算法hash出一个新hash值,将新hash值与前部分的原始hash值比对,即可确定这个cookie数据是否合法。
可选的,由于hash算法是公开的,如果网站服务器仅是根据后部分的原始hash值的生成内容通过hash方法生成新hash值的话,可能存在原始hash值和原始hash值的生成内容同时被修改的情况,而情况网站服务器将无法检测到;对此,网站服务器可设定验证码,通过设定验证码和原始hash值的生成内容来生成原始hash值,进而在反馈给客户端的cookie数据中加入通过设定验证码和原始hash值的生成内容所生成的原始hash值,及原始hash值的生成内容;对应的,网站服务器在获取到客户端发送的cookie数据后,可调取原始hash值的生成内容,通过原始hash值的生成内容及设定验证码生成新hash值,将新hash值与原始hash值进行比对来确定cookie数据是否合法;由于设定验证码仅存储在网络端,客户端并无法获取,因此可大幅提升cookie数据是否合法的检测结果的准确性。
本发明实施例提供的网站会话存储方法,将会话采用cookie数据的方式存储在客户端中,可使得客户端在访问网站时,网站服务器可通过客户端发送的cookie数据中的会话内容实现相应session数据的恢复,避免了网站服务器对session池的频繁读取和重建session数据,减轻了网站服务器的工作负担,减少了网站服务器对客户端的响应速度的影响。
下面对本发明实施例提供的网站访问方法进行介绍,下文描述的网站访问方法基于上文描述的网站会话存储方法。
图4为本发明实施例提供的网站访问方法的流程图,该方法可应用于网站服务器,参照图4,该方法可以包括:
步骤S400、在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容;
可选的,客户端可在采用自动登录方法登录网站时,向网站服务器发送具有会话内容的cookie数据;显然,客户端也可在采用用户输入的登录用户名和登录密码登录网站服务器后,将具有会话内容的cookie数据发送至网站服务器。
步骤S410、根据所述会话内容恢复与所述客户端相应的session数据,以维持所述客户端与网站的会话。
可选的,cookie数据中的会话内容可以包括:客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息;所述登录用户名,ID标识和身份状态信息可经过序列化处理后存储在cookie数据中;
对应的,网站服务器在根据所述会话内容恢复与所述客户端相应的session数据时,可从所述cookie数据中反序列化处理所述登录用户名,所述ID标识,和所述身份状态信息,从而根据反序列化处理结果恢复相应的session数据。
可选的,网站服务器还提供有验证客户端发送的cookie数据是否被篡改的机制;网站服务器可在向客户端发送的cookie数据中加入原始hash值及所述原始hash值的生成内容;对应的,所述cookie数据除包括所述会话内容外,还可包括原始hash值及所述原始hash值的生成内容;
网站服务器可从cookie数据中读取所述原始hash值的生成内容,根据所述原始hash值的生成内容生成新hash值;将新hash值与所述原始hash值进行比对;若所述新hash值与所述原始hash值一致,则确定所述cookie数据合法;从而在确定所述cookie数据合法后,根据所述会话内容恢复与所述客户端相应的session数据。
图5示出了本发明实施例提供的网站访问方法的另一流程图,参照图5,该方法可以包括:
步骤S500、在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容,原始hash值及所述原始hash值的生成内容;
步骤S510、读取所述原始hash值的生成内容,根据所述原始hash值的生成内容生成新hash值;
步骤S520、判断新hash值与所述原始hash值是否一致,若否,执行步骤S530,若是,执行步骤S540;
步骤S530、确定所述cookie数据非法,结束流程;
步骤S540、确定所述cookie数据合法,从所述cookie数据中反序列化处理所述登录用户名,所述ID标识,和所述身份状态信息;
步骤S550、根据反序列化处理结果恢复相应的session数据。
可选的,为了避免客户端存储的cookie数据中的原始hash值和所述原始hash值的生成内容被同时篡改,本发明实施例可设定验证码,网站服务器通过所述原始hash值的生成内容及设定验证码生成原始hash值,将所生成的原始hash值与所述原始hash值的生成内容加入cookie数据中,并发送至客户端;
对应的,网站服务器在验证cookie数据是否被篡改时,可根据客户端发送的cookie数据中的所述原始hash值的生成内容与设定验证码生成新hash值,将新hash值与cookie数据中的原始hash值进行比对来确定。
可选的,若客户端在访问网站时,客户端中并不存在存储有会话内容的cookie数据,则可通过上文所述的网站会话存储方法,网站服务器生成具有会话内容的cookie数据并发送至客户端中,以在客户端中实现具有会话内容的cookie数据的存储。
本发明实施例提供的网站访问方法中,客户端在访问网站时,网站服务器可获取到客户端发送的具有生成session数据的会话内容的cookie数据,从而通过该cookie数据实现session数据的恢复,避免了网站服务器从session池中调取相应session数据的过程,减少了网站服务器从session池中频繁读取和重建session数据的情况,减轻了网站服务器的工作负担,减少了网站服务器对客户端的响应速度的影响。
下面对本发明实施例提供的网站会话存储装置进行介绍,下文描述的网站会话存储装置可与上文描述的网站会话存储方法相互对应参照。
图6为本发明实施例提供的网站会话存储装置的结构框图,该装置可应用于网站服务器中;参照图6,该网站会话存储装置可以包括:
会话内容获取模块100,用于在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
cookie数据生成模块110,用于创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
数据返回模块120,用于将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
可选的,所述会话内容可以包括:客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息等;对应的图7示出了会话内容获取模块100的一种可选结构,参照图7,会话内容获取模块100可以包括:
内容获取单元101,用于获取所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息。
可选的,图8示出了本发明实施例提供的cookie数据生成模块110的一种可选结构,参照图8,cookie数据生成模块110可以包括:
序列化处理单元111,用于将所述登录用户名,所述ID标识,所述身份状态信息进行序列化处理,将序列化处理的结果存入所述cookie数据。
可选的,为避免客户端中的cookie数据被篡改,本发明实施例提供cookie数据的验证机制;对应的,图9示出了本发明实施例提供的数据返回模块120的一种可选结构,参照图9,数据返回模块120可以包括:
加入单元121,用于在所述cookie数据中加入原始hash值及所述原始hash值的生成内容;
返回单元122,用于将加入原始hash值及所述原始hash值的生成内容的cookie数据返回至所述客户端。
可选的,所述原始hash值可通过所述原始hash值的生成内容与设定验证码生成。
下面对本发明实施例提供的网站访问装置进行介绍,下文描述的网站访问装置可与上文描述的网站访问方法相对应参照。
图10为本发明实施例提供的网站访问装置的结构框图,该方法可应用于网站服务器,参照图10,该网站访问装置可以包括:
cookie数据获取模块200,用于在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容;
session数据恢复模块210,用于根据所述会话内容恢复与所述客户端相应的session数据,以维持所述客户端与网站的会话。
可选的,所述cookie数据还可以包括:原始hash值及所述原始hash值的生成内容;可选的,图11示出了本发明实施例提供的session数据恢复模块210的一种可选结构,参照图11,session数据恢复模块210可以包括:
读取生成单元211,用于读取所述原始hash值的生成内容,根据所述原始hash值的生成内容生成新hash值;
合法确定单元212,用于若所述新hash值与所述原始hash值一致,则确定所述cookie数据合法;
恢复单元213,用于在确定所述cookie数据合法后,根据所述会话内容恢复与所述客户端相应的session数据。
可选的,图12示出了读取生成单元211的一种可选结构,参照图12,读取生成单元211可以包括:
生成执行子单元2111,用于根据所述原始hash值的生成内容与设定验证码生成新hash值;其中,所述原始hash值通过所述原始hash值的生成内容与所述设定验证码生成。
可选的,所述会话内容可以包括:所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息;
对应的,session数据恢复模块210在恢复session数据时,可从所述cookie数据中反序列化处理所述登录用户名,所述ID标识,和所述身份状态信息,根据反序列化处理结果恢复相应的session数据。
本发明通过将会话采用cookie数据的方式存储在客户端中,可使得客户端在访问网站时,网站服务器可通过客户端发送的cookie数据中的会话内容实现相应session数据的恢复,避免了网站服务器对session池的频繁读取和重建session,减轻了网站服务器的工作负担,减少了网站服务器对客户端的响应速度的影响。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种网站会话存储方法,其特征在于,应用于网站服务器,所述方法包括:
在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
2.根据权利要求1所述的网站会话存储方法,其特征在于,所述获取与生成所述客户端的session数据对应的会话内容包括:
获取所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息。
3.根据权利要求2所述的网站会话存储方法,其特征在于,所述将所述会话内容存入所述cookie数据包括:
将所述登录用户名,所述ID标识,所述身份状态信息进行序列化处理,将序列化处理的结果存入所述cookie数据。
4.根据权利要求1-3任一项所述的网站会话存储方法,其特征在于,所述将所述cookie数据返回至所述客户端包括:
在所述cookie数据中加入原始hash值及所述原始hash值的生成内容;
将加入原始hash值及所述原始hash值的生成内容的cookie数据返回至所述客户端。
5.一种网站访问方法,其特征在于,应用于网站服务器,所述方法包括:
在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容;
根据所述会话内容恢复与所述客户端相应的session数据,以维持所述客户端与网站的会话。
6.根据权利要求5所述的网站访问方法,其特征在于,所述cookie数据还包括原始hash值及所述原始hash值的生成内容;
所述根据所述会话内容恢复与所述客户端相应的session数据包括:
读取所述原始hash值的生成内容,根据所述原始hash值的生成内容生成新hash值;
若所述新hash值与所述原始hash值一致,则确定所述cookie数据合法;
在确定所述cookie数据合法后,根据所述会话内容恢复与所述客户端相应的session数据。
7.根据权利要求6所述的网站访问方法,其特征在于,所述根据所述原始hash值的生成内容生成新hash值包括:
根据所述原始hash值的生成内容与设定验证码生成新hash值;其中,所述原始hash值通过所述原始hash值的生成内容与所述设定验证码生成。
8.根据权利要求5-7任一项所述的网站访问方法,其特征在于,所述会话内容包括:所述客户端登录网站时的登录用户名,与所述登录用户名相应的ID标识,及与所述登录用户名相应的持久化的身份状态信息;
所述根据所述会话内容恢复与所述客户端相应的session数据包括:
从所述cookie数据中反序列化处理所述登录用户名,所述ID标识,和所述身份状态信息,根据反序列化处理结果恢复相应的session数据。
9.一种网站会话存储装置,其特征在于,应用于网站服务器,所述装置包括:
会话内容获取模块,用于在客户端登录网站后,获取与生成所述客户端的session数据对应的会话内容;
cookie数据生成模块,用于创建与所述客户端相应的cookie数据,将所述会话内容存入所述cookie数据;
数据返回模块,用于将所述cookie数据返回至所述客户端,以便所述客户端在访问网站时,网站服务器通过客户端发送的所述cookie数据恢复相应的session数据。
10.一种网站访问装置,其特征在于,应用于网站服务器,所述装置包括:
cookie数据获取模块,用于在客户端发起网站访问时,获取所述客户端发送的cookie数据,所述cookie数据包括与生成所述客户端的session数据对应的会话内容;
session数据恢复模块,用于根据所述会话内容恢复与所述客户端相应的session数据,以维持所述客户端与网站的会话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510143521.7A CN104683361A (zh) | 2015-03-30 | 2015-03-30 | 一种网站会话存储方法、网站访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510143521.7A CN104683361A (zh) | 2015-03-30 | 2015-03-30 | 一种网站会话存储方法、网站访问方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104683361A true CN104683361A (zh) | 2015-06-03 |
Family
ID=53317955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510143521.7A Pending CN104683361A (zh) | 2015-03-30 | 2015-03-30 | 一种网站会话存储方法、网站访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683361A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040065A (zh) * | 2017-12-22 | 2018-05-15 | 平安养老保险股份有限公司 | 网页跳转后的免登录方法、装置、计算机设备和存储介质 |
CN109962880A (zh) * | 2017-12-22 | 2019-07-02 | 南京欣网互联网络科技有限公司 | 应用于电信运营商电子渠道的http请求参数校验方法 |
CN110098999A (zh) * | 2019-05-09 | 2019-08-06 | 携程计算机技术(上海)有限公司 | Ota网站事件系统中im管理的方法及系统 |
CN110493199A (zh) * | 2019-07-26 | 2019-11-22 | 苏州浪潮智能科技有限公司 | 一种防止互联网Web攻击的方法和装置 |
CN110943827A (zh) * | 2019-10-18 | 2020-03-31 | 天津幸福生命科技有限公司 | 一种基于网络协议的数据获取方法及装置 |
CN111083205A (zh) * | 2019-11-30 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种多会话处理的平台配置数据的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005013582A2 (en) * | 2003-07-29 | 2005-02-10 | Thomson Licensing S.A. | Controlling access to a network using redirection |
CN101193089A (zh) * | 2006-11-20 | 2008-06-04 | 阿里巴巴公司 | 有状态会话系统及其实现方法 |
CN201682522U (zh) * | 2010-02-08 | 2010-12-22 | 阿里巴巴集团控股有限公司 | 会话信息存储系统及应用服务器 |
-
2015
- 2015-03-30 CN CN201510143521.7A patent/CN104683361A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005013582A2 (en) * | 2003-07-29 | 2005-02-10 | Thomson Licensing S.A. | Controlling access to a network using redirection |
CN101193089A (zh) * | 2006-11-20 | 2008-06-04 | 阿里巴巴公司 | 有状态会话系统及其实现方法 |
CN201682522U (zh) * | 2010-02-08 | 2010-12-22 | 阿里巴巴集团控股有限公司 | 会话信息存储系统及应用服务器 |
Non-Patent Citations (2)
Title |
---|
DOUBLESPOUT: ""客户端session vs 服务端session"", 《HTTPS://CNODEJS.ORG/TOPIC/53971784A087F45620EA988A》 * |
OUTSIDER: ""session、cookie与"记住我的登录状态"的功能的实现"", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_4B6F8D1501015FJL.HTML》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040065A (zh) * | 2017-12-22 | 2018-05-15 | 平安养老保险股份有限公司 | 网页跳转后的免登录方法、装置、计算机设备和存储介质 |
CN109962880A (zh) * | 2017-12-22 | 2019-07-02 | 南京欣网互联网络科技有限公司 | 应用于电信运营商电子渠道的http请求参数校验方法 |
CN108040065B (zh) * | 2017-12-22 | 2021-02-19 | 平安养老保险股份有限公司 | 网页跳转后的免登录方法、装置、计算机设备和存储介质 |
CN110098999A (zh) * | 2019-05-09 | 2019-08-06 | 携程计算机技术(上海)有限公司 | Ota网站事件系统中im管理的方法及系统 |
CN110493199A (zh) * | 2019-07-26 | 2019-11-22 | 苏州浪潮智能科技有限公司 | 一种防止互联网Web攻击的方法和装置 |
CN110943827A (zh) * | 2019-10-18 | 2020-03-31 | 天津幸福生命科技有限公司 | 一种基于网络协议的数据获取方法及装置 |
CN111083205A (zh) * | 2019-11-30 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种多会话处理的平台配置数据的方法及装置 |
CN111083205B (zh) * | 2019-11-30 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种多会话处理的平台配置数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683361A (zh) | 一种网站会话存储方法、网站访问方法及装置 | |
Nikitin et al. | {CHAINIAC}: Proactive {Software-Update} transparency via collectively signed skipchains and verified builds | |
CN111538996B (zh) | 区块链一体机的可信启动方法及装置 | |
CN108322461B (zh) | 应用程序自动登录的方法、系统、装置、设备和介质 | |
CN109691057B (zh) | 经由私人内容分发网络可交换地取回敏感内容 | |
CN109471865B (zh) | 一种离线数据管理方法、系统、服务器及存储介质 | |
US9059978B2 (en) | System and methods for remote maintenance in an electronic network with multiple clients | |
US7310736B2 (en) | Method and system for sharing storage space on a computer | |
KR100823738B1 (ko) | 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법 | |
US8769045B1 (en) | Systems and methods for incremental loading of collaboratively generated presentations | |
KR101948721B1 (ko) | 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치 | |
CN110213276B (zh) | 一种微服务架构下的授权验证方法、服务器、终端及介质 | |
KR20180138217A (ko) | 적용된 암호 ip 관리 방법 및 시스템 | |
CN109565518B (zh) | 用于可互换的内容取回的方法和系统 | |
JP2004517377A (ja) | デジタル資産の制御及び管理 | |
CN108173648B (zh) | 基于私钥托管的数字安全处理方法、设备及存储介质 | |
US20160044508A1 (en) | Method for providing application service | |
CN110955721B (zh) | 区块链节点状态维护方法、装置、计算机设备和存储介质 | |
US8738920B2 (en) | Information processing apparatus and authentication information migration method | |
CN106549957B (zh) | 一种终端应用正版的认证方法及系统 | |
CN110958239B (zh) | 访问请求的校验方法和装置、存储介质及电子装置 | |
CN111970109B (zh) | 一种数据传输方法及系统 | |
US20180137300A1 (en) | Method and apparatus for document preview and delivery with password protection | |
CN105516135A (zh) | 用于账号登录的方法和装置 | |
US20190052628A1 (en) | Authenticate a first device based on a push message to a second device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 450000 Zhengzhou science and technology zone, Henan high tech Road, building 169, building 1, No. 1 Applicant after: ZHENGZHOU XIZHI INFORMATION TECHNOLOGY CO., LTD. Address before: 450000 Zhengzhou science and technology zone, Henan high tech Road, building 169, building 1, No. 1 Applicant before: ZHENGZHOU XIZHI INFORMATION TECHNOLOGY CO., LTD. |
|
COR | Change of bibliographic data | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150603 |
|
RJ01 | Rejection of invention patent application after publication |