一种访问控制方法和装置以及服务器与流程

文档序号:12492929阅读:462来源:国知局
一种访问控制方法和装置以及服务器与流程

本申请涉及网络通信技术领域,特别涉及一种访问控制方法和装置以及服务器。



背景技术:

随着网络技术的不断发展,用户通过客户端访问服务器的网络访问行为也日益增多。为了保证客户端与服务器之间数据交互的安全性,客户端与服务器会按照预设的加密算法对交互数据进行加密。

采用加密算法对客户端与服务器的交互数据进行加密,在一定程度上可以提高数据的安全性。但是一旦客户端与服务器之间的加密算法被破解,破解该加密算法的用户就可以利用爬虫或者其他工具伪装成客户端来对服务器进行恶意访问,从而导致服务器中的数据被泄露,影响了数据安全性。



技术实现要素:

本申请提供了一种访问控制方法,以降低服务器中数据被泄露的风险,提高数据安全性。

本申请还提供了一种访问控制装置以及服务器,用以保证上述方法在实际中的实现及应用。

为了解决上述问题,本申请的第一方面提供了一种访问控制方法,包括:

接收访问请求;

获取所述访问请求的发送端参数,其中,所述发送端参数至少包括:所述访问请求的发送端的IP地址;

基于所述IP地址,获取所述发送端所开放的端口信息;

若基于所述端口信息,确定出所述发送端为代理服务器,则拒绝所述访问请求。

优选的,所述发送端参数还包括:认证标识;

则,在所述基于所述IP地址,获取所述发送端所开放的端口信息之前,还包括:

验证所述认证标识是否为有效认证标识,其中,有效认证标识为在当前时刻之前,为认证通过的发送端生成的标识;

如果是,则执行所述基于所述IP地址,获取所述发送端所开放的端口信息。

优选的,所述发送端参数还包括:待验证数字签名;

则,在执行所述基于所述IP地址,获取所述发送端所开放的端口信息之前,还包括:

验证所述待验证数字签名是否为基于历史动态密钥生成的数字签名,其中,所述历史动态密钥为在当前时刻之前最近一次响应于以所述认证标识发起的访问请求,而生成的动态密钥;

如果是,则执行所述基于所述IP地址,获取所述发送端所开放的端口信息;

如果否,则拒绝所述访问请求。

优选的,还包括:

若基于所述端口信息,确定出所述发送端不是代理服务器时,则生成与所述认证标识对应的更新用动态密钥,并存储所述认证标识对应的更新用动态密钥;

将所述更新用动态密钥发送给所述发送端,以便所述发送端将本地存储的动态密钥更新为所述更新用动态密钥。

优选的,所述拒绝所述访问请求,包括:

将所述IP地址加入黑名单;

和/或,向所述发送端发送与所述访问请求所请求的数据不同的数据。

优选的,所述发送端参数还包括以下一种或几种:

MAC地址、设备标识和认证标识;其中,所述认证标识为在所述发 送端认证通过后,为所述发送端生成的标识;

则,在所述基于所述IP地址,获取所述发送端所开放的端口信息之前,还包括:

判断当前时刻所述发送端参数是否满足预设条件;

如果所述发送端参数中存在满足所述预设条件的至少一个发送端参数,则执行所述基于所述IP地址,获取所述发送端所开放的端口信息的操作;否则,拒绝所述访问请求。

优选的,所述访问请求为http请求,所述方法还包括:

检测所述http请求的通用头域的值是否为空;

如果是,则执行所述基于所述IP地址,获取所述发送端所开放的端口信息的操作;否则,则拒绝所述http请求。

在本申请的第二方面,本申请提供了一种访问控制装置,包括:

接收单元,用于接收访问请求;

参数获取单元,用于获取所述访问请求的发送端参数,其中,所述发送端参数至少包括:所述访问请求的发送端的IP地址;

端口查询单元,用于基于所述IP地址,获取所述发送端所开放的端口信息;

访问处理单元,用于若基于所述端口信息,确定出所述发送端为代理服务器,则拒绝所述访问请求。

优选的,所述参数获取单元获取到的发送端参数还包括:认证标识;

则所述装置还包括:

身份验证单元,用于验证所述认证标识是否为有效认证标识,其中,有效认证标识为在当前时刻之前,为认证通过的发送端生成的标识;如果是,则触发执行端口查询单元的操作;否则,拒绝所述访问请求。

优选的,所述发送端参数还包括:待验证数字签名;

则,所述装置还包括:

密钥验证单元,用于在所述身份验证单元验证出所述认证标识为有效认证标识之后,验证所述待验证数字签名是否为基于历史动态密钥生成的数字签名,如果是,则触发执行所述端口查询单元的操作;否则,拒 绝所述访问请求;其中,所述历史动态密钥为在当前时刻之前最近一次响应于以所述认证标识发起的访问请求,而生成的动态密钥。

优选的,还包括:

密钥更新单元,用于若基于所述端口信息,确定出所述发送端不是代理服务器时,则生成与所述认证标识对应的更新用动态密钥,并存储所述认证标识对应的更新用动态密钥;

密钥发送单元,用于将所述更新用动态密钥发送给所述发送端,以便所述发送端将本地存储的动态密钥更新为所述更新用动态密钥。

优选的,所述访问处理单元、身份验证单元或者密钥验证单元执行的所述拒绝所述访问请求,包括:将所述IP地址加入黑名单;和/或,向所述发送端发送与所述访问请求所请求的数据不同的数据。

优选的,所述参数获取单元获取到的所述发送端参数还包括以下一种或多种:

MAC地址、设备标识和/或认证标识;其中,所述认证标识在所述发送端认证通过后,为所述发送端生成的标识;

则所述装置还包括:

条件判断单元,用于在所述端口查询单元获取所述发送端所开放的端口信息之前,判断当前时刻所述发送端参数是否满足预设条件,且如果所述发送端参数中存在满足所述预设条件的至少一个发送端参数,则触发执行所述端口查询单元的操作,否则,拒绝所述访问请求。

优选的,所述接收单元包括:

接收子单元,用于接收http请求;

则所述装置,还包括:

头域检测单元,用于在所述端口查询单元获取所述发送端所开放的端口信息之前,检测所述http请求的通用头域的值是否为空,如果为空,则触发执行所述端口查询单元的操作,否则,拒绝所述端口查询单元的操作。

在本申请的第三方面,本申请提供了一种服务器,包括:

收发器,接收访问请求;

处理器,用于获取所述访问请求的发送端参数,其中,所述发送端参数至少包括:所述访问请求的发送端的IP地址;基于所述IP地址,获取所述发送端所开放的端口信息;若基于所述端口信息,确定出所述发送端为代理服务器,则拒绝所述访问请求。

与现有技术相比,本申请包括以下优点:服务器接收到访问请求后,需要基于该访问请求的发送端的IP地址,获取该发送端的端口信息,如果基于发送端的端口信息,确定出该发送端为代理服务器,则拒绝该访问请求,从而限制了基于代理服务器来访问服务器的访问行为,减少了利用代理服务器来不断更换IP地址而对服务器进行恶意访问的访问行为,从而降低了服务器中数据被泄露的风险,提高了数据安全性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请一种访问控制方法一个实施例的流程示意图;

图2示出了本申请一种访问控制方法另一个实施例的流程示意图;

图3示出了本申请一种访问控制方法中涉及的认证过程的流程示意图;

图4示出了本申请一种访问控制装置一个实施例的结构示意图;

图5示出了本申请一种访问控制装置另一个实施例的结构示意图;

图6示出了本申请一种服务器一个实施例的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实 施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的主要思想之一为通过对服务器接收到的访问请求的发送端进行识别,如果识别出发送端为代理服务器,则拒绝该访问请求,以减少利用代理服务器来恶意访问服务器的行为,从而减少了对服务器的恶意访问,降低了服务器中数据被泄露的风险,提高了数据安全性。

首先介绍本申请的一种访问控制方法。

参见图1,其示出了本申请一种访问控制方法一个实施例的流程示意图,本实施例的方法可以包括:

101,接收访问请求。

102,获取该访问请求的发送端参数,该发送端参数至少包括:该访问请求的发送端的IP地址。

其中,IP地址是指互联网协议地址,也称为国际协议地址(IP,Internet Protocol Address)。

服务器接收到访问请求后,可以确定发送该访问请求的发送端的IP地址。而确定发送端的IP地址的方式可以与现有的相同,如,以数据包的形式发送访问请求时,则该数据包中除了访问请求外,还可以包括该发送端的IP地址,从而基于该数据包中的IP地址确定发送端的IP地址。当然,现有的其他确定IP地址的方式也同样适用于本申请,在此不再赘述。

103,基于该IP地址,获取该发送端所开放的端口信息。

104,若基于该端口信息,确定出该发送端为代理服务器,则拒绝所述访问请求。

其中,该端口信息中可以包括该发送端所开发的端口数量、发送端开放的各个端口的端口名称等信息中的一个或多个。

本申请的发明人对网络访问行为进行研究发现,在正常访问服务器的过程中,普通用户一般会通过客户端来发送的访问请求,该访问请求所对应的IP地址为该客户端所在的IP地址,该IP地址较为固定。而如果 是用户利用爬虫或者其他工具来恶意访问服务器,则会利用代理服务器来不断变化IP地址,以突破基于IP访问次数的访问限制。因此,可以通过识别发送端是否为代理服务器,并通过限制以代理服务器发送的访问请求,来阻止恶意访问行为。

同时,发明人经研究发现,一般情况下,代理服务器开放的端口数量较多,因此,可以通过反查该访问请求的发送端的端口信息,来识别该发送端是否为代理服务器。

基于发明人的以上研究发现,本申请实施例在确定出该访问请求的发送端的IP地址后,需要基于该IP地址,获取该发送端开放的端口信息,以基于端口信息识别该发送端是否为代理服务器。

可见,在本申请实施例中,服务器接收到访问请求后,需要基于该访问请求的发送端的IP地址,获取该发送端的端口信息,如果基于发送端的端口信息,确定出该发送端为代理服务器,则拒绝该访问请求,从而限制了基于代理服务器来访问服务器的访问行为,减少了利用代理服务器来不断更换IP地址而对服务器进行恶意访问的访问行为,从而减少了服务器中数据被泄露的风险,提高了数据安全性。

可以理解的是,在以上实施例中,服务器中也可以预先设置IP地址的黑名单,以对以黑名单中的IP地址发起的访问请求进行限制。则,在基于该IP地址,获取该发送端所开放的端口信息之前,还包括:判断该IP地址是否为黑名单中的IP地址。如果该IP地址为黑名单中的IP地址,则可以直接拒绝该访问请求;如果该IP地址不是黑名单的IP地址,则还需要基于所述IP地址,获取该发送端所开放的端口信息,以识别该发送端是否为代理服务器。

其中,该黑名单可以根据需要设定,如可以基于历史访问记录,如果以某个IP地址发起访问请求的次数超过预设次数,则将该IP地址加入黑名单。

需要说明的,在本申请以上任意一个实施例中,拒绝该访问请求可以 有多种实现形式。

其中,拒绝该访问请求的一种实现形式可以为:不响应该访问请求,拒绝为该访问请求的发送端返回该访问请求所请求的数据。

拒绝该访问请求的另一种实现方式可以为:向该访问请求的发送端发送虚假数据。其中,虚假数据与所述访问请求所请求的数据不同。通过发送虚假数据可以迷惑恶意访问行为的发送端,使得发送端只能获取到错误数据。

拒绝该访问请求的另一种实现形式可以为:将该IP地址加入黑名单,从而也不会为该发送端返回数据。

可以理解的是,拒绝该访问请求也可以是以上几种形式中任意两种形式的组合。如,可以在不响应该访问请求的同时,将该IP地址加入黑名单;又如,在为发送端返回虚假数据的同时,将该IP地址加入黑名单。

可以理解的是,该访问请求可以为基于现有任意网络协议的访问请求;如,该访问请求可以为超文本传输协议(HTTP,HyperText Transfer Protocol)请求。

特别的,发明人通过对http请求的发送过程进行研究发现:当客户端发送的http请求经过一个代理服务器后,该代理服务器会在该http请求中里面添加通用头域Via,并填上自己的相关信息。由此可知,经代理服务器发出的http请求的通用头域Via中会具有相应的值。因此,当服务器接收到的访问请求为http请求时,可以通过检测该http请求中的通用头域Via是否为空,就可以判断该http请求的发送端是否为代理服务器。

则,在基于所述IP地址,获取所述发送端所开放的端口信息之前,还可以检测http请求的通用头域via的值是否为空。如果http请求的通用头域via的值不为空,则说明该http请求经代理服务器发送,从而可以拒绝该http请求。

而由于高度匿名的代理服务器也可以做到不在该http请求中的通用头域Via中添加该代理服务器的相关信息。也就是说,如果该http请求 的通用头域via的值为空,该http请求也有可能是通过代理服务器发送的,因此,如果所述http-VIA值不为空,仍需要执行基于该IP地址,获取所述发送端所开放的端口信息的操作,以便最终识别出发送端为代理服务器的访问请求。

可以理解的是,考虑到普通客户端利用代理服务器向该服务器发送请求的概率较低,为了避免误判,并提高识别出的代理服务器的准确度,在以上任意一个实施例中,在获取所述发送端所开放的端口信息之前,还可以判断该访问请求对应的发送端参数是否满足预设条件。如果该发送端参数满足预设条件,则执行该基于该IP地址,获取发送端所开放的端口信息。

其中,发送端参数除了前面提到的IP地址外,还可以有其他参数,而该预设条件可以为分别针对不同发送端参数设定的预设条件。该发送端参数可以包括该IP地址、该访问请求携带的MAC(Media Access Control,介质访问控制)地址、该访问请求携带的设备标识等参数中的一个或多个。其中,客户端为移动设备时,则该设备标识可以为移动设备国际识别码(IMEI,International Mobile Equipment Identity)

而该预设条件也可以根据需要进行设定。如该预设条件可以包括:在第一指定时长内,以该IP地址、MAC地址或该设备标识发起的认证请求并获取到该有认证标识的次数不超过第一预设次数;或者,在第二指定时长内,以该IP地址、MAC地址或设备标识发起访问请求的次数不超过第二预设次数。其中,该第一预设次数和第二预设次数可以相同也可以不同,该第一指定时长和第二指定时长也可以相同或不同。

在实际应用中,判断预设参数是否满足预设条件可以与前面实施例中相关的判断条件相结合,如,可以先判断该IP地址是否为黑名单中的IP地址;当该IP地址不为黑名单中的IP地址时,则可以判断该发送端的发送端参数是否满足预设条件,如果该发送端的参数不满足预设条件,则执行基于该IP地址,获取发送端所开放的端口信息的操作。

为了便于理解,以访问请求为http请求为例进行详细介绍。参见图2, 其示出了本申请一种访问控制方法另一个实施例的流程示意图,需要说明的是,本实施例仅仅是一种优选的实施方式但并不是唯一的实现方式。本实施例的方法可以包括:

201,接收http请求;

202,获取该http请求对应的发送端参数;

该发送端参数包括IP地址、MAC地址和设备标识。其中,该设备标识可以IMEI。

其中,接收到的访问请求可以携带有MAC地址和/或IMEI,则可以直接获取到MAC地址和IMEI。如果访问请求携带有IP地址,则可以直接获取该发送端的IP地址,而如果访问请求未携带IP地址,也可以通过现有的方式来确定发送端IP地址,如,在发送端与服务器握手过程中,确定该发送端IP地址。

当然,该发送端参数除了包括IP地址外,还可以仅仅包括MAC地址或IMEI

203,检测该IP地址是否为黑名单中的IP地址,如IP地址是黑名单中的IP地址,则执行204;否则,则执行步骤208;

204,检测该http请求中的通用头域Via的值是否为空,如果为空,则执行步骤205;如不为空,则执行步骤208;

205,检测发送端参数中是否存在满足预设条件的至少一个发送端参数,如果存在,则执行步骤206,否则,执行步骤208;

其中,如果任意一个发送端参数满足预设条件,则执行该步骤206。

206,基于该IP地址,获取该发送端所开放的端口信息;

207,基于该端口信息,判断该发送端是否为代理服务器,如是,则执行步骤208;否则,执行步骤209。

208,拒绝该访问请求。

209,响应该访问请求,为IP地址对应的发送端返回响应数据。

需要说明的是,本申请实施例仅仅是为了便于介绍以http请求为例来进行的介绍,但是对于其他访问请求除了可能不需要执行步骤203外,其具体实现过程与图2实现过程相似,如,在执行了步骤202获取到发 送端参数之后,同样可以执行203,并在IP地址不是黑名单中的IP地址时,执行该步骤205。

为了提高数据访问的安全性,减少对服务器的恶意访问行为,在本申请实施例中,服务器接收到发送端的认证请求后,如果对该发送端认证通过,则为该发送端生成一个用于唯一标识该发送端的认证标识。服务器端将为该发送端生成的该认证标识作为有效认证标识进行存储,并为该发送端返回该认证标识。

这样,为了在发送端发起访问请求时,能够验证该发送端是否为已经通过认证,则发送端每次向服务器发起的访问请求中均需要携带该认证标识。同时,服务器可以验证访问请求所携带的认证标识是否为该服务器自身存储的有效认证标识,如果是,则对发送端的身份验证通过,执行基于IP地址,获取该发送端所开发的端口信息;否则,认为该发送端的身份不可靠,拒绝该发送端的访问请求。

需要说明的是,服务器存储的有效认证标识为该服务器在当前时刻之前,为认证通过的发送端生成的认证标识,由于服务器会为不同的发送端生成不同的认证标识,所以服务器端会存储有大量对应着不同发送端的认证标识。

可以理解的是,为了进一步提高认证标识的可靠性,服务器可以设定认证标识的有效时长,而服务器端存储的有效认证标识可以认为是服务器为认证通过的发送端生成的,且处于有效时长内的认证标识。

在现有的网络访问中,客户端通过服务器的认证之后,客户端与服务器之间交互的数据一般都采用固定的加密密钥进行加密,这样,加密密钥很容易被破解,从而使得他人很容易获取到客户端的相关数据,并通过模拟客户端来恶意访问服务器。

为了进一步提高访问的安全性,发送端与服务器之间交互的数据可以采用动态密钥进行加密。所谓动态密钥是指每次发送端访问该服务器所采用的密钥均是不同的。

具体的,在服务器端对发送端认证通过后,服务器端除了为发送端生成认证标识之前,服务器还会生成与该认证标识对应的动态密钥,且发送端首次以该认证标识发起访问请求时,访问请求除了携带该认证标识外,还会携带利用该动态密钥加密的数字签名。而服务器每次接收到该发送端以认证标识发起的访问请求之后,均会更新认证标识对应的动态密钥,这样发送端每次携带的数字签名所用的动态密钥均不同,从而增加了密钥被破解的难度,提高了客户端与服务器之间数据交互的安全性,进而避免了由于密钥被破解,而导致发送端数据被窃取,使得他人恶意模拟发送器来恶意访问服务器的情况。

为了便于理解,下面介绍下本申请实施例的访问控制方法所基于的认证过程,参见图3,其示出了本申请一种访问控制方法中发起端向服务器进行认证的一个实施例的流程示意图。该过程可以包括:

301,接收发起端发送的认证请求。

该认证请求携带有数字签名,还可以携带有发起端的MAC地址、发起端所在设备的设备标识中的一个或多个。如,该设备标识可以为移动设备的IMEI等。

其中,该数字签名为利用发起端预置的初始密钥加密得到的签名。

302,利用服务器预置的初始密钥,计算数字签名。

303,当服务器计算出的数字签名与认证请求携带的数字签名相同时,则对发起端的认证通过,为发起端分配认证标识和动态密钥。

304,存储认证标识以及该认证标识当前对应的该动态密钥。

在发起端同样会存储接收到该认证标识和动态密钥。

基于以上的认证过程,在以上任意一个实施例中,当发起端向该服务器发送访问请求时,发起端会利用该动态密钥生成数字签名,如,发起端将待请求的数据利用该动态密钥进行加密后,再计算加密后的数据的摘要,得到数字签名。则该发起端向服务器发送的访问请求中会携带该认证标识和利用该动态密钥加密得到的数字签名。

相应的,服务器接收到该访问请求后,首先会验证该访问请求携带的认证标识是否为有效认证标识,如果该认证标识为有效认证标识,则还 需要确定该认证标识对应的历史动态密钥,并验证利用该历史动态密钥生成的数字签名是否与该访问请求携带的数字签名相同。其中,该有效认证标识为服务器在对请求认证的发送端认证通过后,为该发送端分配的认证标识。当然,该有效认证标识还可以为处于有效时长的认证标识,该有效时长可以根据需要设定,例如有效时长可以为一天。该历史动态密钥为该服务器在当前时刻之前最近一次响应于以该认证标识发起的访问请求,而生成的动态密钥。

如果服务器生成的数字签名与该访问请求携带的数字签名不相同,则服务器可以直接拒绝该访问请求。而如果计算出的数字签名与该访问请求中携带的数据签名相同,则服务器会执行以上实施例中其他操作。

如,确定出服务器生成的数字签名与该访问请求携带的数字签名相同,则可以执行基于该IP地址,获取发送端所开放的端口信息的操作;或者是,先检测该IP地址是否为黑名单中的IP地址,如果该IP地址不是黑名单中的IP地址,在获取该发送端所开放的端口信息。当然,如果该访问请求为http请求,则可以在确定出IP地址不是黑名单中的IP地址后,还可以检测该http请求的通用头域Via是否为空,如果不为空,再执行获取发送端所开放的端口信息的操作。

可见,在本实施例的访问控制过程中,每次发起端访问服务器所携带的数字签名所采用的加密密钥为一个动态变化密钥,且基于同一个认证标识的相邻两次访问请求之间具有密切的关联关系,即本次访问请求与本次访问请求之前最近一次访问请求所返回的动态密钥有关,从而降低了数据交互过程中密钥被破解的概率。同时,由于每次访问所采用的加密密钥均不相同,从而使得他人采用同一个IP地址不能以并发方式进行网络请求,进而减少了了服务器被恶意访问的情况,提高了服务器中数据的安全性。

进一步的,若基于该端口信息,确定出发送端不是代理服务器时,则在响应该访问请求的同时,服务器还需要为该发送端生成更新用动态密钥,并将该更新用动态密钥发送给所述发送端,以便该发送端将本地存 储的动态密钥更新为该更新用动态密钥。这样,当该发起方再次发起访问请求时,则需要发起方利用更新后的动态密钥生成数字签名,并在访问请求中携带该数字签名。

可以理解的是,在访问请求携带认证标识的实施例中,在基于所述IP地址,获取所述发送端所开放的端口信息之前,还可以判断该认证标识是否满足预设条件。该预设条件也可以根据需要设定,如,该预设条件可以为:在第三指定时长内携带该认证标识的访问请求的次数不超过第三预设次数。其中,该第三指定时长与前面的第一指定时长和第二指定时长可以相同,也可以不同;相应的,该第三预设次数也可以根据需要设定,且该第三预设次数可以与前面的第一预设次数以及第二预设次数相同也可以不同。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

与上述本申请一种访问控制方法相对应,本申请实施例还提供了一种访问控制装置。

参见图4,其示出了本申请一种访问控制装置一个实施例的结构示意图,本实施例的装置可以包括:

接收单元401,用于接收访问请求;

参数获取单元402,用于获取所述访问请求的发送端参数,其中,所述发送端参数至少包括:所述访问请求的发送端的IP地址;

端口查询单元403,用于基于所述IP地址,获取所述发送端所开放的端口信息;

访问处理单元404,用于若基于所述端口信息,确定出所述发送端为 代理服务器,则拒绝所述访问请求。

在本申请实施例中,服务器接收到访问请求后,需要基于该访问请求的发送端的IP地址,获取该发送端的端口信息,如果基于发送端的端口信息,确定出该发送端为代理服务器,则拒绝该访问请求,从而限制了基于代理服务器来访问服务器的访问行为,减少了利用代理服务器来不断更换IP地址而对服务器进行恶意访问的访问行为,从而减少了服务器中数据被泄露的风险,提高了数据安全性。

参见图5,其示出了本申请实施例一种访问控制装置另一个实施例的结构示意图。本实施例的装置与前面装置实施例的不同之处在于:

该装置中的参数获取单元获取到的发送端参数还包括:认证标识;

且,该装置还可以包括:

身份验证单元405,用于验证所述认证标识是否为有效认证标识,其中,有效认证标识为在当前时刻之前,为认证通过的发送端生成的标识;如果是,则触发执行端口查询单元的操作;否则,拒绝所述访问请求。

可选的,在本实施例中,该发送端参数还可以包括:待验证数字签名;

则,所述装置还包括:

密钥验证单元406,用于在所述身份验证单元验证出所述认证标识为有效认证标识之后,验证所述待验证数字签名是否为基于历史动态密钥生成的数字签名,如果是,则触发执行所述端口查询单元的操作;否则,拒绝所述访问请求;其中,所述历史动态密钥为在当前时刻之前最近一次响应于以所述认证标识发起的访问请求,而生成的动态密钥。

进一步的,在本实施例中,该装置还可以包括:

密钥更新单元,用于若基于所述端口信息,确定出所述发送端不是代理服务器时,则生成与所述认证标识对应的更新用动态密钥,并存储所述认证标识对应的更新用动态密钥;

密钥发送单元,用于将所述更新用动态密钥发送给所述发送端,以便所述发送端将本地存储的动态密钥更新为所述更新用动态密钥。

可以理解的是,在以上任意一个实施例中,该装置还可以包括:黑名单检测单元,用于在所述端口查询单元获取所述发送端所开放的端口信息之前,判断所述IP地址是否为黑名单中的IP地址,如果是,则拒绝所述访问请求;否则,触发执行所述端口查询单元的操作。

需要说明的是,当该装置包括身份验证单元的情况下,该身份验证单元和该黑名单检测单元可以同时执行,也可以是先执行身份验证单元,再执行该黑名单检测单元。同时,只有当身份验证单元确定出该待验证数据签名为基于所述指定密钥生成的数字签名,且该黑名单检测单元检测出访问请求携带的IP地址不是黑名单中的IP地址,才触发执行该端口查询单元。

可选的,在以上实施例中,该访问处理单元、身份验证单元以及密钥验证单元执行的所述拒绝所述访问请求,具体可以为:将所述IP地址加入黑名单;和/或,向所述发送端发送虚假数据,所述虚假数据与所述访问请求所请求的数据不同。

在以上任意一个装置的实施例中,所述参数获取单元获取到的所述发送端参数还包括以下任意一种或几种:

MAC地址、设备标识以及认证标识;其中,所述认证标识为在所述发送端认证通过后,为所述发送端生成标识;

则所述装置还可以包括:

条件判断单元,用于在所述端口查询单元获取所述发送端所开放的端口信息之前,判断当前时刻所述发送端参数是否满足预设条件;如果所述发送端参数中存在满足所述预设条件的至少一个发送端参数,则触发执行所述端口查询单元的操作;否则,拒绝所述访问请求。

可选的,当所述发送端参数包括所述IP地址、MAC地址或设备标识时,所述预设条件包括:在第一指定时长内,以所述IP地址、MAC地址或设备标识发起的认证请求并获取到所述有认证标识的次数不超过第一预设次数;或者,在第二指定时长内,以所述IP地址、MAC地址或设备 标识发起访问请求的次数不超过第二预设次数;

当所述发送端参数包括:所述访问请求中携带的认证标识时,则所述预设条件包括:在第三指定时长内携带所述认证标识的访问请求的次数不超过第三预设次数。

可选的,在以上任意一个装置的实施例中,所述接收单元可以包括:

接收子单元,用于接收http请求;

则所述装置,还包括:

头域检测单元,用于在所述端口查询单元获取所述发送端所开放的端口信息之前,检测所述http请求的通用头域Via的值是否为空;

第六执行单元,用于所述头域检测单元确定出所述Via值不为空,则拒绝所述http请求;

第七执行单元,用于如果所述头域检测单元确定出所述Via值为空,则执行所述端口查询单元的操作。

可以理解的是,在本申请以上装置的实施例中,不同实施例中可能包括有触发执行该端口查询单元操作的不同执行单元,如,当该装置包括黑名单检测单元的情况下,可以在确定出该IP地址不黑名单中的IP地址时,则触发执行该端口查询单元的操作;而如果该装置包括头域检测单元的情况下,则可以确定出该Via值为空时,触发执行该端口查询单元的操作,因此,在不同实施例中,该端口查询单元则可以根据需要设定,在接收到某个设定的执行单元的触发指示后,执行该端口查询单元中设定的操作。而在实际应用中,该装置可以同时包括以上实施例中的身份验证单元、黑名单检测单元、条件判断单元以及头域检测单元,则在该种情况下,该端口查询单元可以在均检测到这几个单元的触发动作后,再执行该端口查询单元中设定的操作。

在本申请的另一方面,还提供了一种服务器。

参见图6,其示出了本申请一种服务器一个实施例的结构示意图,本 实施例的服务器可以包括:收发器601和处理器602。

其中,收发器601,用于接收访问请求;

处理器602,用于获取所述访问请求的发送端参数,其中,所述发送端参数至少包括:所述访问请求的发送端的IP地址;基于所述IP地址,获取所述发送端所开放的端口信息;若基于所述端口信息,确定出所述发送端为代理服务器,则拒绝所述访问请求。

当然,该服务器还可以包括存储介质,存储介质用于存储该处理器运行的程序数据。该服务器还可以包括与处理器、收发器以及存储介质相连的通信总线。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样 的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

以上对本申请所提供的一种访问控制方法和装置以及服务器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1