当前位置:首页 > PHP教程 > 正文内容

php没法猎取实在ip【php教程】,php,获取,真实,ip

搜教程4年前 (2019-12-01)PHP教程164

一、猎取用户实在IP地点

 public static function getClientIp()
 {
 if (getenv('HTTP_CLIENT_IP')) {
  $ip = getenv('HTTP_CLIENT_IP');
 }
 if (getenv('HTTP_X_REAL_IP')) {
  $ip = getenv('HTTP_X_REAL_IP');
 } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
  $ip = getenv('HTTP_X_FORWARDED_FOR');
  $ips = explode(',', $ip);
  $ip = $ips[0];
 } elseif (getenv('REMOTE_ADDR')) {
  $ip = getenv('REMOTE_ADDR');
 } else {
  $ip = '0.0.0.0';
 }

 return $ip;
 }

注重:

$_SERVER和getenv的区分,getenv不支持IIS的isapi体式格局运转的php。getenv(“REMOTE_ADDR”)函数在 apache下能一般猎取ip地点,而在iis中没有作用,而$_SERVER['REMOTE_ADDR']函数,既可在apache中胜利猎取访客的ip地点,在iis下也一样有用。

二、关于REMOTE_ADDR

这个变量猎取到的是《直接泉源》的 IP 地点,所谓《直接泉源》指的是直接要求该地点的客户端 IP 。这个 IP 在单服务器的状况下,很正确的是客户端 IP ,没法捏造。固然并非一切的顺序都一定是单服务器,比方在采纳负载平衡的状况(比方采纳 haproxy 或许 nginx 举行负载平衡),这个IP就是转发机械的IP,由于历程是客户端->负载平衡->服务端。是由负载平衡直接接见的服务端而不是客户端。

三、关于 HTTP_X_FORWARDED_FOR 和 HTTP_CLIENT_IP

在负载平衡的状况下直接运用 REMOTE_ADDR 是没法猎取客户端 IP 的,这就是一个题目,必需处理。于是就衍生出了负载平衡端将客户端 IP 加入到 HEAD 中发送给服务端,让服务端能够猎取到客户端的实在 IP 。固然也就产生了列位所说的捏造,毕竟 HEAD 除了协定里牢固的那几个数据,其他数据都是可自定义的。

引荐教程:PHP视频教程

以上就是php没法猎取实在ip的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15614.html

分享给朋友:

“php没法猎取实在ip【php教程】,php,获取,真实,ip” 的相关文章

strnatcasecmp函数怎样用【php教程】,strnatcasecmp函数

strnatcasecmp函数怎样用【php教程】,strnatcasecmp函数

PHP strnatcasecmp函数: 运用“天然递次”算法比较字符串(不辨别大小写) php strnatcasecmp()函数 语法 作用:运用"天然"算法来比较两个字符串(不辨别大小写): 语法: strnatcasecmp(string1,string2) 参数: st...

TP5完成表格拖动排序并保存到数据库的要领(附代码)【php教程】,php,javascript,css,html

本篇文章给人人带来的内容是关于TP5完成表格拖动排序并保存到数据库的要领(附代码),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 前一段时间修正了一个旧的项目,客户请求我给表格从新排序,按大夫的职称排序。由于客户的这个项目是病院的人事体系,考虑到悉数病院有几千号人,如果一个个...

如安在Mac上装置PHP?【php教程】,Mac,PHP

如安在Mac上装置PHP?【php教程】,Mac,PHP

在Mac上启用PHP之前,起首必需启用Apache。PHP和Apache都是免费的开源软件顺序,而且都装置在一切mac上。PHP是服务器端软件,Apache是运用最普遍的web服务器软件。在Mac上启用Apache和PHP并不难。 01、在MacOS上启用Apache 要启用Apache...

装潢形式详解【php教程】,装饰模式

装潢形式 在没必要转变原类文件和运用继续的情况下,动态地扩大一个对象的功用。它是经由过程建立一个包装对象,也就是装潢来包裹实在的对象。 装潢形式的特征 (1) 装潢对象和实在对象有雷同的接口。如许客户端对象就能以和实在对象雷同的体式格局和装潢对象交互。 (2) 装潢对象包括一个实在对象的...

如何用PHP+Ajax推断是不是有敏感辞汇【php教程】,PHP,ajax,敏感词

如何用PHP+Ajax推断是不是有敏感辞汇【php教程】,PHP,ajax,敏感词

本文报告怎样运用PHP和Ajax建立一个过滤敏感辞汇的要领,推断是不是有敏感辞汇。 敏感辞汇数组sensitive.php 1 return array ( 2 0 => '111111', 3 1 => 'aaaaaa', 4 2 =>...

PHP范例的解释要领有哪些?【php教程】,PHP,注释

本篇文章引见了六种PHP的解释体式格局,人人一起来进修一下吧! PHP 单行解释语法 在一行中一切 DE>//DE> 标记右面的文本都被视为解释, 由于 PHP 解析器疏忽该行 DE>//DE> 右面的一切内容。以下: <?phpecho "Blabla.cn...