一种获取IP地址的方法及装置
文献发布时间:2023-06-19 11:02:01
技术领域
本发明涉及信息技术领域,特别涉及一种获取IP地址的方法及装置。
背景技术
随着信息技术的发展,信息安全受到越来越多的重视,尤其是对银行系统而言,信息安全更是尤为重要。目前,银行主要是通过权限管理,限制访问的IP地址,保证信息的安全性。但是在限制访问的IP地址时需要获取访问的IP地址,而后对IP地址进行判断,目前亟需一种获取IP地址的方法,确保获取的IP地址的真实性,以保证信息的安全性。
发明内容
有鉴于此,本发明的目的在于提供一种获取IP地址的方法及装置,确保获取的IP地址的真实性,以保证信息的安全性。
为实现上述目的,本发明有如下技术方案:
一种获取IP地址的方法,包括:
判断客户端的代理服务器为正向代理服务器或反向代理服务器,若所述代理服务器为正向代理服务器,获取所述客户端的IP地址,若所述代理服务器为反向代理服务器,获取所述客户端的初始IP地址,并通过所述初始IP地址获取所述客户端的IP地址;
判断所述IP地址的范围是否在预设IP地址范围内,若是,接收所述客户端的访问请求。
可选的,所述判断客户端的代理服务器为正向代理服务器或反向代理服务器包括:
判断通过第一方式是否可以获取所述客户端的IP地址,若是,则所述代理服务器为正向代理服务器,若否,则所述代理服务器为反向代理服务器。
可选的,若所述代理服务器为反向代理服务器,获取所述客户端的初始IP地址,并通过所述初始IP地址获取所述客户端的IP地址,包括:
若所述客户端的代理服务器为反向代理服务器时,接收通过第二方式转发的所述客户端的访问请求,所述访问请求中携带有所述客户端的初始IP地址,所述初始IP地址包括所述客户端的IP地址以及所述代理服务器的IP地址,且所述客户端的IP地址和所述代理服务器的IP地址之间通过逗号隔开;
获取第一个逗号前的IP地址,所述第一个逗号前的IP地址为所述客户端的IP地址。
可选的,在所述判断客户端的代理服务器为正向代理服务器或反向代理服务器之前,还包括:
判断所述客户端是否经过代理服务器。
可选的,所述反向代理服务器为Nginx代理服务器。
一种获取IP地址的装置,包括:
第一判断单元,用于判断客户端的代理服务器为正向代理服务器或反向代理服务器,若所述代理服务器为正向代理服务器,获取所述客户端的IP地址,若所述代理服务器为反向代理服务器,获取所述客户端的初始IP地址,并对所述初始IP地址进行处理获得所述客户端的IP地址;
第二判断单元,用于判断所述IP地址的范围是否在预设IP地址范围内,若是,接收所述客户端的访问请求。
可选的,所述第一判断单元具体用于判断通过第一方式是否可以获取所述客户端的IP地址,若是,则所述代理服务器为正向代理服务器,若否则所述代理服务器为反向代理服务器。
可选的,所述第一判断单元具体用于若所述客户端的代理服务器为反向代理服务器时,接收通过第二方式转发的所述客户端的访问请求,所述访问请求中携带有所述客户端的初始IP地址,所述初始IP地址包括所述客户端的IP地址以及所述代理服务器的IP地址,且所述客户端的IP地址和所述代理服务器的IP地址之间通过逗号隔开;获取第一个逗号前的IP地址,所述第一个逗号前的IP地址为所述客户端的IP地址。
可选的,还包括:第三判断单元,用于判断所述客户端是否经过代理服务器。
可选的,所述反向代理服务器为Nginx代理服务器。
本发明实施例提供的一种获取IP地址的方法,包括:判断客户端的代理服务器为正向代理服务器或反向代理服务器,若代理服务器为正向代理服务器,获取客户端的IP地址,若代理服务器为反向代理服务器,获取客户端的初始IP地址,并通过初始IP地址获取客户端的IP地址;而后,判断IP地址的范围是否在预设IP地址范围内,若是,接收客户端的访问请求。这样,首先对代理服务器做出判断,根据代理服务器的属性做出相应的处理,提高获取的IP地址的真实性,而后,判断获得的IP地址是否在预设IP地址范围内,进一步提高IP地址的真实性,保证信息的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本发明实施例一种获取IP地址的方法的流程示意图;
图2示出了根据本发明实施例一种获取IP地址的装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
正如背景技术的描述,随着信息技术的发展,信息安全受到越来越多的重视,尤其是对银行系统而言,信息安全更是尤为重要。目前,银行主要是通过权限管理,限制访问的IP地址,保证信息的安全性。但是在限制访问的IP地址时需要获取访问的IP地址,而后对IP地址进行判断,目前亟需一种获取IP地址的方法,确保获取的IP地址的真实性,以保证信息的安全性。
为此,本申请实施例提供一种获取IP地址的方法,包括:判断客户端的代理服务器为正向代理服务器或反向代理服务器,若代理服务器为正向代理服务器,获取客户端的IP地址,若代理服务器为反向代理服务器,获取客户端的初始IP地址,并通过初始IP地址获取客户端的IP地址;而后,判断IP地址的范围是否在预设IP地址范围内,若是,接收客户端的访问请求。这样,首先对代理服务器做出判断,根据代理服务器的属性做出相应的处理,提高获取的IP地址的真实性,而后,判断获得的IP地址是否在预设IP地址范围内,进一步提高IP地址的真实性,保证信息的安全性。
为了便于理解本申请的技术方案和技术效果,以下将结合附图对具体的实施例进行详细的说明。
参考图1所示,在步骤S01中,判断客户端的代理服务器为正向代理服务器或反向代理服务器,若所述代理服务器为正向代理服务器,获取所述客户端的IP地址,若所述代理服务器为反向代理服务器,获取所述客户端的初始IP地址,并通过所述初始IP地址获取所述客户端的IP地址。
IP地址是给每个连接在Internet上的主机分配一个在全世界范围唯一的32bit地址,保证用户在连网的计算机上操作时,能够选出所需的对象。目前保护客户端的IP地址的方法是使用代理服务器,与直接连接到Internet相比,使用代理服务器能保护上网用户的IP地址,从而保障上网安全。代理服务器的原理是在客户机和目标服务器之间架设一个“中转站”,当客户机向目标服务器提出访问要求后,代理服务器首先截取用户的请求,然后代理服务器将访问请求转发至目标服务器,从而实现客户机和目标服务器之间的联系。但是使用代理服务器后,目标服务器只能探测到代理服务器的IP地址而不是用户的IP地址,保障用户上网安全。而且,如果有许多用户共用一个代理服务器时,当有人访问过某一站点后,所访问的内容便会保存在代理服务器的硬盘上,如果再有人访问该站点,这些内容便会直接从代理服务器中获取,而不必再次连接目标服务器。
判断客户端的代理服务器为正向代理服务器还是反向代理服务器,从而能够根据代理服务器的属性做出相应的处理。当代理服务器为正向代理服务器时,可以直接获取客户端的IP地址,当代理服务器为反向代理服务器时,无法直接获取客户的的IP地址,只能获取客户端的初始IP地址,而后通过初始IP地址获取客户端的IP地址。具体的,可以判断通过第一方式是否可以获取客户端的IP地址,当可以获取客户端的IP地址时,表明代理服务器为正向代理服务器,并且能够通过第一方式获取客户端的IP地址,第一方式具体是指方法getRemoteAddr()。当通过第一方式无法获取客户端的IP地址时,表明代理服务器为反向代理服务器。在具体的实施例中,在判断客户端的代理服务器为正向代理服务器还是反向代理服务器之前,可以先判断客户端是否经过代理服务器,通常客户端没有经过代理服务器时,在客户端向目标服务器发送访问请求时,目标服务器可以直接获取该客户端真实的IP地址。
本实施例中,当代理服务器为反向代理服务器时,接收通过第二方式发送的客户端的访问请求,访问请求中携带有客户端的初始IP地址,初始IP地址包括客户端的IP地址以及代理服务器的IP地址,且客户端的IP地址和代理服务器的IP地址直接通过逗号隔开,且第一个逗号前的IP地址为客户端的IP地址。第二方式具体为X-Forward-For,通过X-Forward-For转发客户端的访问请求,当客户端的访问请求被转发后,代理服务器的IP地址会追加于客户端的IP地址后,并以逗号方式隔开,例如获取的初始IP地址为10.47.103.13,4.2.2.2,10.96.112.230,则第一个逗号前的IP地址为客户端的IP地址,即10.47.103.13,第一个逗号后的IP地址为代理服务器的IP地址,且由于X-Forward-For的标准格式为:X-Forward-For:client1,proxy1,proxy2,显然X-Forward-For头信息可以有多个,中间用逗号分隔开,第一项为真实的客户端IP,剩下的曾经经过的代理或负载均衡的IP地址,经过几个出现几个信息。当代理服务器为反向代理服务器时,也可以通过第三方式获取客户端的IP地址,第三方式具体为X-Real-IP,通过X-Real-IP获得的IP地址即为客户端的真实IP地址。在具体的应用中,反向代理服务器可以为Nginx代理服务器。
以上对本申请实施例提供的一种获取IP地址的方法进行了详细的描述,包括:判断客户端的代理服务器为正向代理服务器或反向代理服务器,若代理服务器为正向代理服务器,获取客户端的IP地址,若代理服务器为反向代理服务器,获取客户端的初始IP地址,并通过初始IP地址获取客户端的IP地址;而后,判断IP地址的范围是否在预设IP地址范围内,若是,接收客户端的访问请求。这样,首先对代理服务器做出判断,根据代理服务器的属性做出相应的处理,提高获取的IP地址的真实性,而后,判断获得的IP地址是否在预设IP地址范围内,进一步提高IP地址的真实性,保证信息的安全性。
本申请实施例还提供一种获取IP地址的装置,参考图2所示,包括:
第一判断单元201,用于判断客户端的代理服务器为正向代理服务器或反向代理服务器,若所述代理服务器为正向代理服务器,获取所述客户端的IP地址,若所述代理服务器为反向代理服务器,获取所述客户端的初始IP地址,并通过所述初始IP地址获取所述客户端的IP地址;
第二判断单元202,用于判断所述IP地址的范围是否在预设IP地址范围内,若是,接收所述客户端的访问请求。
本实施例中,所述第一判断单元具体用于判断通过第一方式是否可以获取所述客户端的IP地址,若是,则所述代理服务器为正向代理服务器,若否则所述代理服务器为反向代理服务器。
本实施例中,所述第一判断单元具体用于若所述客户端的代理服务器为反向代理服务器时,接收通过第二方式转发的所述客户端的访问请求,所述访问请求中携带有所述客户端的初始IP地址,所述初始IP地址包括所述客户端的IP地址以及所述代理服务器的IP地址,且所述客户端的IP地址和所述代理服务器的IP地址之间通过逗号隔开;获取第一个逗号前的IP地址,所述第一个逗号前的IP地址为所述客户端的IP地址。
本实施例中,还包括:第三判断单元,用于判断所述客户端是否经过代理服务器。
本实施例中,所述反向代理服务器为Nginx代理服务器。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
- IP地址获取方法和IP地址获取装置
- 一种配置IP地址、获取IP地址的方法、装置及融合型网关