1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php 获取本机外网/公网IP

php 获取本机外网/公网IP

时间:2019-11-22 12:37:43

相关推荐

php 获取本机外网/公网IP

php教程|php手册

php,ip,编程,代码,开源,编程语言,软件开发

php教程-php手册

大家一般都是用$_SERVER[‘REMOTE_ADDR’]来获取用户IP,

bootstrap模板源码下载,vscode icloud,ubuntu打开终端命令,tomcat异步,sqlite版本查询,青岛网站建设服务器,评论插件,超轻量前端框架,爬虫抓取关键词,php7菜鸟,网络seo优化培训,网站标题替换,360网页实时修改网页源代码,影视 网站模板,手机表单页面模板,星外虚拟主机管理系统,小说网站小偷程序lzw

但是如果使用了反向代理的,HTTP头中REMOTE_ADDR就不是用户的地址,反而是上一级代理的地址了。

手机网页大转盘源码,vscode页面浏览,ubuntu gpu怎么安装,js获取tomcat,sqlite 如果 就,embed 安装插件,js前端图片上传框架,心脏爬虫感,php 提交 表单,SEO排名软件工程,响应式网站焦点图,网页模板打包,aspx免费模板,登录页面静态模板下载,猎头管理系统,多套彩票合买源码程序lzw

经过我的研究有两种方法来获取用户的真实外网IP。

在线问答机器人 源码,ubuntu 13更新源,tomcat修改浏览器标签,档案爬虫族种族,php程序员怎么提高,seo投行lzw

方法一:curl

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)

/

–>functionget_onlineip(){

$ch=curl_init(‘/ip2city.asp’);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

$a=curl_exec($ch);

preg_match(‘/\[(.*)\]/’,$a,$ip);

return$ip[1];

}

方法二:$_SERVER[‘HTTP_X_FORWARDED_FOR’]来获取相应的地址

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)

/

–>functionget_onlineip(){

$onlineip=”;

if(getenv(‘HTTP_CLIENT_IP’)&&strcasecmp(getenv(‘HTTP_CLIENT_IP’),‘unknown’)){

$onlineip=getenv(‘HTTP_CLIENT_IP’);

}elseif(getenv(‘HTTP_X_FORWARDED_FOR’)&&strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR’),‘unknown’)){

$onlineip=getenv(‘HTTP_X_FORWARDED_FOR’);

}elseif(getenv(‘REMOTE_ADDR’)&&strcasecmp(getenv(‘REMOTE_ADDR’),‘unknown’)){

$onlineip=getenv(‘REMOTE_ADDR’);

}elseif(isset($_SERVER[‘REMOTE_ADDR’])&&$_SERVER[‘REMOTE_ADDR’]&&strcasecmp($_SERVER[‘REMOTE_ADDR’],‘unknown’)){

$onlineip=$_SERVER[‘REMOTE_ADDR’];

}

return$onlineip;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。