`
willeager
  • 浏览: 92742 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

获取客户端IP的解决办法

    博客分类:
  • PHP
阅读更多

1.针对Apache服务器

function getUserIp(){
	if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
		$user_ip = getenv('HTTP_CLIENT_IP');
	} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
		$user_ip = getenv('HTTP_X_FORWARDED_FOR');
	} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
		$user_ip = getenv('REMOTE_ADDR');
	} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
		$user_ip = $_SERVER['REMOTE_ADDR'];
	}else{
		$user_ip = '0.0.0.0';
	}
	
	$user_ip = preg_replace("/^([\d\.]+).*/", "\\1", $user_ip);
	return $user_ip;
}

  2.IIS  getenv不支持IIS的isapi方式运行的php

  3.http://www.cnblogs.com/lmule/archive/2010/10/15/1852020.html

分享到:
评论

相关推荐

    web端不限制浏览器获取客户端MAC+IP地址进行权限安全校验

    web端项目通过浏览器访问的项目获取客户端mac地址及ip地址,进行登录权限校验; web端通过浏览器访问的项目增加权限; 本次项目由于对数据安全性要求较为严格,所以增加了用户在登录时对于客户端电脑的ip地址和mac...

    web端不限制浏览器获取客户端MAC+IP地址

    web端项目通过浏览器访问的项目获取客户端mac地址及ip地址,进行登录权限校验; web端通过浏览器访问的项目增加权限; 本次项目由于对数据安全性要求较为严格,所以增加了用户在登录时对于客户端电脑的ip地址和mac...

    FTP客户端下载软件

    3.特别注意下边红色字体的提示FTP无法获取目录解决办法上传时如果无法取得目录列表,点击编辑,选择防火墙设置取消被动(PASV)模式。1.打开FTP工具,找到编辑(支持国产,此处仅以8UFTP为例,其它FTP工具操作与下面...

    ip-guard网络监控-管理利器--完美破解406用户--申精~1000%可用

    IP-guard将为企业解决以下问题: 保护机密商业资料 详细记录文件操作(打开、修改、删除等) 记录文件操作时的屏幕 限制使用移动存储设备(U盘授权)防止滥用公司电脑 应用程序的统计与控制 网页浏览的统计与...

    中天酒店网管培训教程.doc

    IP地址没有设置成自动获取,处理办法:把IP地址设置成自动获取。 3.有客人自带无线路由器和酒店路由器冲突,这种情况会导致整个客用网络上不去 网。解决办法:通过网页进入客人自带路由器,把LAN口地址改为192.168....

    SecureCRT连接CentOS时出错 报错为:“The remote system refused the connection.” 的解决方法

    今天在使用SecureCRT连接CentOS时, 提示我The remote system refused the connection, 百度了一下... 和我准备使用的虚拟机的IP就冲突了, 所以使用SecureCRT连接时,就会报错如上信息, 解决办法也比较简单, 修改其中一个

    Ice-3.7.4.msi for windows版

    8 启动服务器时,给定的adapter的名字和配置文件中使用的不一致: 启动服务器时没有问题正常,但是客户端无法连接(无法从配置文件中获取所需要的信息port和ip) 原因: 对象适配器无效 错误信息: 抛出异常: Ice::...

    网狐荣耀版开发使用常见问题解答

    三、网狐荣耀版手机端在复制文本时提示“复制内容非法”的解决办法 在网狐荣耀版开发调试过程中,复制文本时,提示“复制非法内容”,开始吓一跳,没有什么非法内容啊?也没有禁词,也没有国家不允许的内容。最后...

    C#编程经验技巧宝典

    110 <br>0180 如何使用ASP.NET技术对口令加密 110 <br>0181 如何设定ASP.NET全局变量 111 <br>0182 如何设定全局联接数据库对象 111 <br>0183 如何在ASP.NET中获得客户端IP地址 111 <br>0184...

    Android 开发技巧

    5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、ANDROID UI 动画 160 6.1、四种2D动画 160 6.1.1、透明度控制动画效果 alpha 160 6.1.2、旋转动画效果 ...

    超级有影响力霸气的Java面试题大全文档

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别?  Java Bean 是可...

    Android开发资料合集-World版!

    5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、ANDROID UI 动画 160 6.1、四种2D动画 160 6.1.1、透明度控制动画效果 alpha 160 6.1.2、旋转动画效果 ...

    java 面试题 总结

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...

    经典SQL语句大全

    一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', '...

    数据库操作语句大全(sql)

    数据库操作语句大全(sql) 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device ...

    sql经典语句一部分

    经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice ...

    易语言-HPSocket同步操作例子

    解决办法:因为你用的32位的mysql,那么你应该用32位的odbc配置管理器,而不是系统菜单默认的64位ODBC配置,请在 Windows\SysWOW64\ 下找到32位的ODBC配置工具 odbcad32.exe ,运行它,然后配置你需要的DSN。...

    java面试题

    有什么办法主动通知虚拟机进行垃圾回收? 42 63.1. 判断该对象是否是时候可以收集方法 43 63.1.1. 引用计数 43 63.1.2. 对象引用遍历 43 63.2. 几种垃圾回收机制 43 63.2.1. 标记-清除收集器 43 63.2.2. 标记-压缩...

    测试培训教材

    解决办法1:修改其他程序的端口使用 解决办法2:修改JBOSS的启动端口 JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml 6、修改IP地址后不能登录QC 解决办法: 在C:\Program Files\Mercury\...

    标准MFC WinSock ActiveX控件开发实例(II)高级篇

    //获取数据,并指定获取数据的超时时间,返回实际获取到的数据长度,否则返回负数 long CMFCWinSockCtrl::GetData(VARIANT FAR* Data, const VARIANT FAR& DataType, const VARIANT FAR& DataMaxLength, ...

Global site tag (gtag.js) - Google Analytics