PHP-php 如何验证ip是否真实性

PHP-php 如何验证ip是否真实性

虐人心 发布于 2016-11-15 字数 137 浏览 1193 回复 5

php是否能真实验证客户端获取的ip是真实性的!比如有个60.28.10.199 这样的ip,检验出是否使用程序hash算法拼出的ip。
大伙给点建议。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

灵芸 2017-10-19 5 楼

我在网上看到有关可以验证IP地址属于国内还是国外的,不知道这个是否可以对你有用处。也添加以下地址吧,http://www.poluoluo.com/jzxy/201004/82387.html

夜无邪 2017-06-25 4 楼

理论上,一般情况下$_SERVER['REMOTE_ADDR']就是用户的真实IP,也很难进行伪造。

不过也有例外,我就碰到了,通过$_SERVER['REMOTE_ADDR']取到的时负载均衡机器的IP,用户的IP无法在WEB SERVER上通过PHP获到。

另外IP真实性跟IP格式是否对应该是二码事。

晚风撩人 2017-06-08 3 楼

个人理解
http 协议是一个tcp协议。需要3次握手。如果IP是伪装到TCP头的(如 synflood),那么TCP连接就无法建立,http无法完成,PHP就不会执行。所以认为PHP应该是可以获得到真实IP的

偏爱自由 2017-02-04 2 楼

PHP在获取用户IP地址的方式都是从客户端发送的header头信息中获取得到的,所以这就依赖于客户端所发送的header头信息,这个IP地址就是PHP认为是真实的客户端地址,但只要是客户端发送的信息都是可以伪造的,由于PHP是服务端语言,无法获取客户端的任何信息,所以想要通过PHP来获取客户端的真实IP地址目前没有好的解决方案。

偏爱自由 2016-12-13 1 楼

不要太过于依赖客户端发送的HTTP请求,php的$_SERVER['REMOTE_ADDR']等获得IP的方式都是从网络包中的IP层获得的。这些包都是可以进行伪造的,比如:
1.WindowsXPsp2以下的版本可以修改Raw包的源IP地址。
2.在内核层合成数据包,不经过操作系统协议栈发送。
3.通过跳板(代理)连接。