具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明第一实施例提出一种网络访问方法,包括:
步骤S101,客户端获取网络访问的第一验证信息;并发送网络访问请求至目标服务器,所述网络访问请求中包括所述客户端的身份标识信息;
其中,客户端的身份标识信息为该客户端的唯一标志字符串。
第一验证信息是通过对网络访问请求所携带的客户端的唯一标志字符串追加一加密字符串(即加盐字符串)再进行摘要计算而得到,其中摘要计算的具体算法可以包括但不限于hash算法。
其中,加盐是指为了使相同的密码拥有不同的加密值(比如hash值)的一种手段,盐值就是在密码加密过程中添加的额外的随机值。传统的MD5加密,如果密码数据库被泄露,黑客就可能通过反查询方式获得用户密码,而密码加盐就是为了减少数据库泄漏带来的损失。
上述第一验证信息的获取方式可以是由客户端本地计算获取,也可以由指定的某一验证服务器计算获取。
客户端获取第一验证信息是为了与目标服务器反馈的第二验证信息进行对比校验,以验证目标服务器的合法性,防止访问请求被劫持。
客户端在向目标服务器发送访问请求时,在访问请求中携带客户端的唯一标志字符串,以便获取目标服务器对访问请求携带的唯一标志字符串进行加密计算生成的第二验证信息。
步骤S102,所述目标服务器根据所述客户端的身份标识信息和预定的校验信息生成第二验证信息,反馈给所述客户端;
目标服务器在接收到所述访问请求后,对该访问请求所携带的客户端的唯一标志字符串追加一加盐字符串,该加盐字符串与客户端获取第一验证信息时追加的加盐字符串相同,由此通过对唯一标志字符串追加一加盐字符串得到加盐密码字符串,然后对该加盐密码字符串进行摘要计算,得到第二验证信息,该摘要计算的具体算法可以包括但不限于hash算法。
最后,目标服务器将第二验证信息反馈给客户端。
步骤S103,所述客户端对所述第一验证信息和所述第二验证信息按预定规则进行比较,当比较结果符合预定结果时,判断所述网络访问为正常访问;否则,判断所述网络访问为非正常访问。
客户端比较获取的两个验证信息,当比较结果符合预定结果(比如两验证信息相同)时,判断所述网络访问为正常访问,也即判定此次访问的目标服务器为合法服务器;否则,判断所述网络访问为非正常访问,也即判定该目标服务器为被劫持服务器。
本实施例通过上述方案,在客户端向目标服务器发起请求时,获取访问请求的第一验证信息;并目标服务器发送访问请求,目标服务器接收到所述访问请求后,对访问请求携带的客户端的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端;客户端比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器为合法服务器;否则,判定目标服务器为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器是否被劫持,提高了访问网络的安全可靠性。
更为具体地,如图2所示,作为一种实施方式,由客户端本地计算获取第一验证信息,上述步骤S101中客户端在访问目标服务器时,获取访问请求的第一验证信息可以包括:
步骤S1011,所述客户端在访问目标服务器时,获取该客户端的身份标识信息;
步骤S1012,对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;
步骤S1013,对所述加密后的密码字符串进行摘要计算,得到第一验证信息。
如图3所示,作为另一种实施方式,由验证服务器计算获取第一验证信息并反馈给客户端,上述步骤S101中客户端在访问目标服务器时,获取访问请求的第一验证信息可以包括:
步骤S1014,所述客户端向设定的验证服务器发送所述网络访问请求;在所述网络访问请求中携带所述客户端的身份标识信息;
步骤S1015,所述验证服务器对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;对所述加密后的密码字符串进行摘要计算,得到第一验证信息;将所述第一验证信息反馈给所述客户端。
本实施例通过上述方案,在客户端向目标服务器发起请求时,获取访问请求的第一验证信息;并目标服务器发送访问请求,目标服务器接收到所述访问请求后,对访问请求携带的客户端的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端;客户端比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器为合法服务器;否则,判定目标服务器为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器是否被劫持,提高了访问网络的安全可靠性。
如图4所示,本发明第二实施例从提出一种网络访问方法,在上述第一实施例的基础上,在上述步骤S103之后,还可以包括:
步骤S104,当判定所述网络访问为非正常访问时,所述客户端通过访问所述目标服务器的备用域名以及备用IP的方式进行重试访问。
本实施例与上述第一实施例的区别在于,本实施例还包括判定目标服务器为被劫持服务器后的处理方案。
具体地,在判断网络访问为非正常访问,也即判定目标服务器为被劫持服务器时,客户端通过访问所述目标服务器的备用域名以及备用IP的方式进行重试访问,以提高访问成功率。
下面以具体实例对本实施例方案进行详细阐述:
如图5所示,例如客户端为C,需要请求的目标服务器为S2,另有一台验证服务器为S1。客户端C在向目标服务器S2发出请求时,可能会被第三方劫持到服务器S3。
本实例可以采用以下方案对访问的目标服务器S2进行合法性验证,以确保网络访问的安全性。
首先客户端C向验证服务器S1发出访问请求,并带上客户端C的身份标识信息即唯一标志字符串(以guid表示)。验证服务器S1对唯一标志字符串追加一串加密字符串,设为盐(以salt表示);然后对加密后的字符串(guid+salt)进行摘要计算(计算方法不限于hash算法)。摘要计算的结果设为第一验证信息(以key1表示),并向客户端C返回key1的值。
然后,客户端C向目标服务器S2发出访问请求,并带上客户端的唯一标志字符串(guid)。目标服务器S2对唯一标志字符串(guid)追加一串加密字符串,设为盐(以salt表示)。该盐值与上一步骤中盐值相同。然后对加密后的字符串(guid+salt)进行与上一步骤相同的摘要计算。摘要计算的结果设为第二验证信息(以key2表示),并向客户端C返回key2的值。
客户端C将目标服务器S2返回的key2值与验证服务器S1返回的key1值相比较。如果两者相等,则认定目标服务器S2是合法服务器;否则认定目标服务器S2为被劫持服务器。
需要说明的是,只有出现验证服务器S1和目标服务器S2同时被劫持,且劫持者伪造返回相同的key值的较罕见情形时,才会导致劫持认定失效。
在客户端C探测目标服务器S2被劫持后,可以采取访问目标服务器S2的备用域名以及备用IP的方式进行重试访问,提高访问成功率。
需要说明的是,在获取key1时,客户端C也可以不经过向验证服务器S1请求,而是由客户端C通过加密字符串(guid+salt)计算出key1,然后与目标服务器S2返回的key2进行比较,同样可以实现对目标服务器S2的合法性验证。
由此,通过计算对客户端C的guid加盐摘要值,进行服务器的合法性验证,提高了网络访问的安全可靠性,而且,在发生劫持的情况下,还可以通过备用域名与备用IP的方式立刻进行规避,以提高网络访问的成功率。
如图6所示,本发明第三实施例提出一种网络访问方法,包括:
步骤S201,客户端获取网络访问的第一验证信息;
步骤S202,发送网络访问请求至目标服务器,所述网络访问请求中包括所述客户端的身份标识信息;
步骤S203,从所述目标服务器获取第二验证信息,所述第二验证信息由所述目标服务器根据所述客户端的身份标识信息和预定的校验信息生成;
步骤S204,对所述第一验证信息和所述第二验证信息按预定规则进行比较,当比较结果符合预定结果时,判断所述网络访问为正常访问;否则,判断所述网络访问为非正常访问。
其中,客户端的身份标识信息为该客户端的唯一标志字符串。
第一验证信息是通过对网络访问请求所携带的客户端的唯一标志字符串追加一加密字符串(即加盐字符串)再进行摘要计算而得到,其中摘要计算的具体算法可以包括但不限于hash算法。
其中,加盐是指为了使相同的密码拥有不同的加密值(比如hash值)的一种手段,盐值就是在密码加密过程中添加的额外的随机值。传统的MD5加密,如果密码数据库被泄露,黑客就可能通过反查询方式获得用户密码,而密码加盐就是为了减少数据库泄漏带来的损失。
上述第一验证信息的获取方式可以是由客户端本地计算获取,也可以由指定的某一验证服务器计算获取。
客户端获取第一验证信息是为了与目标服务器反馈的第二验证信息进行对比校验,以验证目标服务器的合法性,防止访问请求被劫持。
客户端在向目标服务器发送访问请求时,在访问请求中携带客户端的唯一标志字符串,以便获取目标服务器对访问请求携带的唯一标志字符串进行加密计算生成的第二验证信息。
目标服务器在接收到所述访问请求后,对该访问请求所携带的客户端的唯一标志字符串追加一加密字符串(即加盐字符串),该加密字符串与客户端获取第一验证信息时追加的加密字符串相同,由此通过对唯一标志字符串追加一加密字符串得到加盐密码字符串,然后对该加盐密码字符串进行摘要计算,得到第二验证信息,该摘要计算的具体算法可以包括但不限于hash算法。
最后,目标服务器将第二验证信息反馈给客户端。
客户端比较获取的两个验证信息,当比较结果符合预定结果(比如两验证信息相同)时,判断所述网络访问为正常访问,也即判定此次访问的目标服务器为合法服务器;否则,判断所述网络访问为非正常访问,也即判定该目标服务器为被劫持服务器。
本实施例通过上述方案,在客户端向目标服务器发起请求时,获取访问请求的第一验证信息;并目标服务器发送访问请求,目标服务器接收到所述访问请求后,对访问请求携带的客户端的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端;客户端比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器为合法服务器;否则,判定目标服务器为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器是否被劫持,提高了访问网络的安全可靠性。
作为一种实施方式,由客户端本地计算获取第一验证信息的过程可以如下:
首先,客户端在访问目标服务器时,获取该客户端的身份标识信息,然后,对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;最后,对所述加密后的密码字符串进行摘要计算,得到第一验证信息。
作为另一种实施方式,由验证服务器计算获取第一验证信息的过程可以如下:
首先,所述客户端向设定的验证服务器发送所述网络访问请求;在所述网络访问请求中携带所述客户端的身份标识信息;然后,验证服务器对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;对所述加密后的密码字符串进行摘要计算,得到第一验证信息;将所述第一验证信息反馈给所述客户端。
由此,客户端获取到来自验证服务器的第一验证信息。
本实施例通过上述方案,在客户端向目标服务器发起请求时,获取访问请求的第一验证信息;并目标服务器发送访问请求,目标服务器接收到所述访问请求后,对访问请求携带的客户端的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端;客户端比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器为合法服务器;否则,判定目标服务器为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器是否被劫持,提高了访问网络的安全可靠性。
如图7所示,本发明第四实施例从提出一种网络访问方法,在上述步骤S204之后,还可以包括:
步骤S205,当判定所述网络访问为非正常访问时,所述客户端通过访问所述目标服务器的备用域名以及备用IP的方式进行重试访问。
本实施例与上述第一实施例的区别在于,本实施例还包括判定目标服务器为被劫持服务器后的处理方案。
具体地,在判断网络访问为非正常访问,也即判定目标服务器为被劫持服务器时,客户端通过访问所述目标服务器的备用域名以及备用IP的方式进行重试访问,以提高访问成功率。
下面以具体实例对本实施例方案进行详细阐述:
如图5所示,例如客户端为C,需要请求的目标服务器为S2,另有一台验证服务器为S1。客户端C在向目标服务器S2发出请求时,可能会被第三方劫持到服务器S3。
本实例可以采用以下方案对访问的目标服务器S2进行合法性验证,以确保网络访问的安全性。
首先客户端C向验证服务器S1发出访问请求,并带上客户端C的身份标识信息即唯一标志字符串(以guid表示)。验证服务器S1对唯一标志字符串追加一串加密字符串,设为盐(以salt表示);然后对加密后的字符串(guid+salt)进行摘要计算(计算方法不限于hash算法)。摘要计算的结果设为第一验证信息(以key1表示),并向客户端C返回key1的值。
然后,客户端C向目标服务器S2发出访问请求,并带上客户端的唯一标志字符串(guid)。目标服务器S2对唯一标志字符串(guid)追加一串加密字符串,设为盐(以salt表示)。该盐值与上一步骤中盐值相同。然后对加密后的字符串(guid+salt)进行与上一步骤相同的摘要计算。摘要计算的结果设为第二验证信息(以key2表示),并向客户端C返回key2的值。
客户端C将目标服务器S2返回的key2值与验证服务器S1返回的key1值相比较。如果两者相等,则认定目标服务器S2是合法服务器;否则认定目标服务器S2为被劫持服务器。
需要说明的是,只有出现验证服务器S1和目标服务器S2同时被劫持,且劫持者伪造返回相同的key值的较罕见情形时,才会导致劫持认定失效。
在客户端C探测目标服务器S2被劫持后,可以采取访问目标服务器S2的备用域名以及备用IP的方式进行重试访问,提高访问成功率。
需要说明的是,在获取key1时,客户端C也可以不经过向验证服务器S1请求,而是由客户端C通过加密字符串(guid+salt)计算出key1,然后与目标服务器S2返回的key2进行比较,同样可以实现对目标服务器S2的合法性验证。
由此,通过计算对客户端C的guid加盐摘要值,进行服务器的合法性验证,提高了网络访问的安全可靠性,而且,在发生劫持的情况下,还可以通过备用域名与备用IP的方式立刻进行规避,以提高网络访问的成功率。
如图8所示,本发明第一实施例提出一种网络访问系统,包括:客户端301和目标服务器302,其中:
所述客户端301,用于获取网络访问的第一验证信息;并向目标服务器302发送网络访问请求,所述访问请求中包括所述客户端301的身份标识信息;
所述目标服务器302,用于根据所述客户端301的身份标识信息和预定的校验信息生成第二验证信息,反馈给所述客户端301;
所述客户端301,还用于对所述第一验证信息和所述第二验证信息按预定规则进行比较,当比较结果符合预定结果时,判断所述网络访问为正常访问;否则,判断所述网络访问为非正常访问。
其中,客户端301的身份标识信息为该客户端301的唯一标志字符串。
第一验证信息是通过对网络访问请求所携带的客户端301的唯一标志字符串追加一加密字符串(即加盐字符串)再进行摘要计算而得到,其中摘要计算的具体算法可以包括但不限于hash算法。
其中,加盐是指为了使相同的密码拥有不同的加密值(比如hash值)的一种手段,盐值就是在密码加密过程中添加的额外的随机值。传统的MD5加密,如果密码数据库被泄露,黑客就可能通过反查询方式获得用户密码,而密码加盐就是为了减少数据库泄漏带来的损失。
上述第一验证信息的获取方式可以是由客户端301本地计算获取,也可以由指定的某一验证服务器计算获取。
在本实施例中,由客户端301本地计算获取第一验证信息,其具体处理过程如下:
首先,客户端301在访问目标服务器302时,获取该客户端301的身份标识信息,然后,对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;最后,对所述加密后的密码字符串进行摘要计算,得到第一验证信息。该摘要计算的具体算法可以包括但不限于hash算法。
客户端301获取第一验证信息是为了与目标服务器302反馈的第二验证信息进行对比校验,以验证目标服务器302的合法性,防止访问请求被劫持。
客户端301在向目标服务器302发送访问请求时,在访问请求中携带客户端301的身份标识信息(即唯一标志字符串),以便获取目标服务器302对访问请求携带的唯一标志字符串进行加密计算生成的第二验证信息。
目标服务器302在接收到所述访问请求后,对该访问请求所携带的客户端301的唯一标志字符串追加一加密字符串(即加盐字符串),该加密字符串与客户端301获取第一验证信息时追加的加密字符串相同,由此通过对唯一标志字符串追加一加密字符串得到加盐密码字符串,然后对该加盐密码字符串进行摘要计算,得到第二验证信息,该摘要计算的具体算法可以包括但不限于hash算法。
最后,目标服务器302将第二验证信息反馈给客户端301。
客户端301比较获取的两个验证信息,当比较结果符合预定结果(比如两验证信息相同)时,判断所述网络访问为正常访问,也即判定此次访问的目标服务器302为合法服务器;否则,判断所述网络访问为非正常访问,也即判定该目标服务器302为被劫持服务器。
本实施例通过上述方案,在客户端301向目标服务器302发起请求时,获取访问请求的第一验证信息;并目标服务器302发送访问请求,目标服务器302接收到所述访问请求后,对访问请求携带的客户端301的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端301;客户端301比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器302为合法服务器;否则,判定目标服务器302为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器302是否被劫持,提高了访问网络的安全可靠性。
如图9所示,本发明第二实施例提出一种网络访问系统,在上述第一实施例的基础上,还包括验证服务器303;
在本实施例中,所述客户端301还用于向所述验证服务器303发送所述网络访问请求;在所述网络访问请求中携带所述客户端301的身份标识信息;
所述验证服务器303,用于对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;对所述加密后的密码字符串进行摘要计算,得到第一验证信息,将所述第一验证信息反馈给所述客户端301;
所述客户端301,还用于接收所述验证服务器303反馈的所述第一验证信息。
本实施例与上述第一实施例的区别在于,本实施例由验证服务器303计算获取第一验证信息并反馈给客户端301,其具体处理过程可以如下:
首先,客户端301向设定的验证服务器303发送网络访问请求,在网络访问请求中携带该客户端301的身份标识信息(即唯一标志字符串);然后,验证服务器303对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;对所述加密后的密码字符串进行摘要计算,得到第一验证信息;将所述第一验证信息反馈给所述客户端301。
由此,客户端301获取到来自验证服务器303的第一验证信息。
进一步地,所述客户端301还用于在判定所述网络访问为非正常访问即目标服务器302为被劫持服务器时,通过访问所述目标服务器302的备用域名以及备用IP的方式进行重试访问,以提高访问成功率。
下面以具体实例对本实施例方案进行详细阐述:
如图5所示,例如客户端为C,需要请求的目标服务器为S2,另有一台验证服务器为S1。客户端C在向目标服务器S2发出请求时,可能会被第三方劫持到服务器S3。
本实例可以采用以下方案对访问的目标服务器S2进行合法性验证,以确保网络访问的安全性。
首先客户端C向验证服务器S1发出访问请求,并带上客户端C的身份标识信息即唯一标志字符串(以guid表示)。验证服务器S1对唯一标志字符串追加一串加密字符串,设为盐(以salt表示);然后对加密后的字符串(guid+salt)进行摘要计算(计算方法不限于hash算法)。摘要计算的结果设为第一验证信息(以key1表示),并向客户端C返回key1的值。
然后,客户端C向目标服务器S2发出访问请求,并带上客户端的唯一标志字符串(guid)。目标服务器S2对唯一标志字符串(guid)追加一串加密字符串,设为盐(以salt表示)。该盐值与上一步骤中盐值相同。然后对加密后的字符串(guid+salt)进行与上一步骤相同的摘要计算。摘要计算的结果设为第二验证信息(以key2表示),并向客户端C返回key2的值。
客户端C将目标服务器S2返回的key2值与验证服务器S1返回的key1值相比较。如果两者相等,则认定目标服务器S2是合法服务器;否则认定目标服务器S2为被劫持服务器。
需要说明的是,只有出现验证服务器S1和目标服务器S2同时被劫持,且劫持者伪造返回相同的key值的较罕见情形时,才会导致劫持认定失效。
在客户端C探测目标服务器S2被劫持后,可以采取访问目标服务器S2的备用域名以及备用IP的方式进行重试访问,提高访问成功率。
需要说明的是,在获取key1时,客户端C也可以不经过向验证服务器S1请求,而是由客户端C通过加密字符串(guid+salt)计算出key1,然后与目标服务器S2返回的key2进行比较,同样可以实现对目标服务器S2的合法性验证。
由此,通过计算对客户端C的guid加盐摘要值,进行服务器的合法性验证,提高了网络访问的安全可靠性,而且,在发生劫持的情况下,还可以通过备用域名与备用IP的方式立刻进行规避,以提高网络访问的成功率。
如图10所示,本发明第一实施例提出一种网络访问客户端,包括:获取模块401、发送模块402、接收模块403及比较判定模块404,其中:
获取模块401,用于获取网络访问的第一验证信息;
发送模块402,用于发送网络访问请求至目标服务器,所述网络访问请求中包括所述客户端的身份标识信息;
接收模块403,用于从所述目标服务器获取第二验证信息,所述第二验证信息由所述目标服务器根据所述客户端的身份标识信息和预定的校验信息生成;
比较判定模块404,用于对所述第一验证信息和所述第二验证信息按预定规则进行比较,当比较结果符合预定结果时,判断所述网络访问为正常访问;否则,判断所述网络访问为非正常访问。
其中,客户端的身份标识信息为该客户端的唯一标志字符串。
第一验证信息是通过对网络访问请求所携带的客户端的唯一标志字符串追加一加密字符串(即加盐字符串)再进行摘要计算而得到,其中摘要计算的具体算法可以包括但不限于hash算法。
其中,加盐是指为了使相同的密码拥有不同的加密值(比如hash值)的一种手段,盐值就是在密码加密过程中添加的额外的随机值。传统的MD5加密,如果密码数据库被泄露,黑客就可能通过反查询方式获得用户密码,而密码加盐就是为了减少数据库泄漏带来的损失。
上述第一验证信息的获取方式可以是由客户端本地计算获取,也可以由指定的某一验证服务器计算获取。
客户端获取第一验证信息是为了与目标服务器反馈的第二验证信息进行对比校验,以验证目标服务器的合法性,防止访问请求被劫持。
客户端在向目标服务器发送访问请求时,在访问请求中携带客户端的唯一标志字符串,以便获取目标服务器对访问请求携带的唯一标志字符串进行加密计算生成的第二验证信息。
目标服务器在接收到所述访问请求后,对该访问请求所携带的客户端的唯一标志字符串追加一加密字符串(即加盐字符串),该加密字符串与客户端获取第一验证信息时追加的加密字符串相同,由此通过对唯一标志字符串追加一加密字符串得到加盐密码字符串,然后对该加盐密码字符串进行摘要计算,得到第二验证信息,该摘要计算的具体算法可以包括但不限于hash算法。
最后,目标服务器将第二验证信息反馈给客户端。
客户端比较获取的两个验证信息,当比较结果符合预定结果(比如两验证信息相同)时,判断所述网络访问为正常访问,也即判定此次访问的目标服务器为合法服务器;否则,判断所述网络访问为非正常访问,也即判定该目标服务器为被劫持服务器。
本实施例通过上述方案,在客户端向目标服务器发起请求时,获取访问请求的第一验证信息;并目标服务器发送访问请求,目标服务器接收到所述访问请求后,对访问请求携带的客户端的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端;客户端比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器为合法服务器;否则,判定目标服务器为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器是否被劫持,提高了访问网络的安全可靠性。
作为一种实施方式,由客户端本地计算获取第一验证信息的过程可以如下:
首先,客户端在访问目标服务器时,获取该客户端的身份标识信息,然后,对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;最后,对所述加密后的密码字符串进行摘要计算,得到第一验证信息。
作为另一种实施方式,由验证服务器计算获取第一验证信息的过程可以如下:
首先,所述客户端向设定的验证服务器发送所述网络访问请求;在所述网络访问请求中携带所述客户端的身份标识信息;然后,验证服务器对所述身份标识信息追加一加密字符串,得到加密后的密码字符串;对所述加密后的密码字符串进行摘要计算,得到第一验证信息;将所述第一验证信息反馈给所述客户端。
由此,客户端获取到来自验证服务器的第一验证信息。
本实施例通过上述方案,在客户端向目标服务器发起请求时,获取访问请求的第一验证信息;并目标服务器发送访问请求,目标服务器接收到所述访问请求后,对访问请求携带的客户端的唯一标志字符串进行加密计算,生成第二验证信息,反馈给客户端;客户端比较第一验证信息和第二验证信息,若比较结果符合预定结果,则判定目标服务器为合法服务器;否则,判定目标服务器为被劫持服务器,由此通过服务器的合法性验证实时感知目标服务器是否被劫持,提高了访问网络的安全可靠性。
如图11所示,本发明第二实施例提出一种网络访问客户端,在上述第一实施例的基础上,还包括:
异常处理模块405,用于当判定所述网络访问为非正常访问时,通过访问所述目标服务器的备用域名以及备用IP的方式进行重试访问。
本实施例与上述第一实施例的区别在于,本实施例还包括判定目标服务器为被劫持服务器后的处理方案。
具体地,在判断网络访问为非正常访问,也即判定目标服务器为被劫持服务器时,客户端通过访问所述目标服务器的备用域名以及备用IP的方式进行重试访问,以提高访问成功率。
如图5所示,例如客户端为C,需要请求的目标服务器为S2,另有一台验证服务器为S1。客户端C在向目标服务器S2发出请求时,可能会被第三方劫持到服务器S3。
本实例可以采用以下方案对访问的目标服务器S2进行合法性验证,以确保网络访问的安全性。
首先客户端C向验证服务器S1发出访问请求,并带上客户端C的身份标识信息即唯一标志字符串(以guid表示)。验证服务器S1对唯一标志字符串追加一串加密字符串,设为盐(以salt表示);然后对加密后的字符串(guid+salt)进行摘要计算(计算方法不限于hash算法)。摘要计算的结果设为第一验证信息(以key1表示),并向客户端C返回key1的值。
然后,客户端C向目标服务器S2发出访问请求,并带上客户端的唯一标志字符串(guid)。目标服务器S2对唯一标志字符串(guid)追加一串加密字符串,设为盐(以salt表示)。该盐值与上一步骤中盐值相同。然后对加密后的字符串(guid+salt)进行与上一步骤相同的摘要计算。摘要计算的结果设为第二验证信息(以key2表示),并向客户端C返回key2的值。
客户端C将目标服务器S2返回的key2值与验证服务器S1返回的key1值相比较。如果两者相等,则认定目标服务器S2是合法服务器;否则认定目标服务器S2为被劫持服务器。
需要说明的是,只有出现验证服务器S1和目标服务器S2同时被劫持,且劫持者伪造返回相同的key值的较罕见情形时,才会导致劫持认定失效。
在客户端C探测目标服务器S2被劫持后,可以采取访问目标服务器S2的备用域名以及备用IP的方式进行重试访问,提高访问成功率。
需要说明的是,在获取key1时,客户端C也可以不经过向验证服务器S1请求,而是由客户端C通过加密字符串(guid+salt)计算出key1,然后与目标服务器S2返回的key2进行比较,同样可以实现对目标服务器S2的合法性验证。
由此,通过计算对客户端C的guid加盐摘要值,进行服务器的合法性验证,提高了网络访问的安全可靠性,而且,在发生劫持的情况下,还可以通过备用域名与备用IP的方式立刻进行规避,以提高网络访问的成功率
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。