php REMOTE_ADDR之获取访客IP的代码


Posted in PHP onApril 22, 2008

<?php
$iipp=$_SERVER["REMOTE_ADDR"];
echo $iipp;
?>[/code][code]<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

echo $user_IP;
?>

<?php
function get_real_ip(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10|172.16|192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

echo get_real_ip();
?>

<?php
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
$ip = getenv("REMOTE_ADDR");
}
else
{
$ip = "Unknown";
}
echo "你的IP:".$ip ;
?>

<?php
if(getenv('HTTP_CLIENT_IP')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
?>

PHP 相关文章推荐
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
php获取字段名示例分享
Mar 03 PHP
对PHP语言认识上需要避免的10大误区
Jun 12 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
PHP中的替代语法简介
Aug 22 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
PHP经典实用正则表达式小结
May 04 PHP
thinkPHP5实现的查询数据库并返回json数据实例
Oct 23 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
Apr 09 PHP
Gregarius中文日期格式问题解决办法
Apr 22 #PHP
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 #PHP
Mysql中limit的用法方法详解与注意事项
Apr 19 #PHP
php采集速度探究总结(原创)
Apr 18 #PHP
Snoopy类使用小例子
Apr 15 #PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 #PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 #PHP
You might like
杏林同学录(六)
2006/10/09 PHP
php二维数组排序详解
2013/11/06 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python网络编程详解
2017/10/31 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
详解pandas赋值失败问题解决
2020/11/29 Python
JMS中Topic和Queue有什么区别
2013/05/15 面试题
可口可乐广告词
2014/03/20 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
公司募捐倡议书
2014/05/14 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书