php能否从外网获取用户的内网ip地址解决思路
程序员文章站
2022-06-17 22:02:14
...
php能否从外网获取用户的内网ip地址
假设用户通过路由等设备连接上网,能不能通过php来获得访问用户的内网ip,即198.xxx.xxx.xxx这样的ip。这里是指外网的用户访问,不是获取服务器主机所在的内网!
假设用户通过路由等设备连接上网,能不能通过php来获得访问用户的内网ip,即198.xxx.xxx.xxx这样的ip。这里是指外网的用户访问,不是获取服务器主机所在的内网!
ip
------解决方案--------------------
有个函数 你可以试试看
------解决方案--------------------
看一下tcp原理你就知道原因了.
------解决方案--------------------
一般不可以(除非内网的出口网关被设置成了“透明网关”)
不过就算是知道了,又有什么意义呢?
你又不可能从服务器访问回去!
就好比有的人非要想知道用户上传的文件在用户机器上的位置一样
既然你不可能从外部访问到,知道了又有什么用呢?
------解决方案--------------------
这个除了黑了对方主机一般没办法吧
------解决方案--------------------
判断独立访客只能是通过cookie
------解决方案--------------------
独立访客是cookies+时间去判断的。
会生成一个cookies到本地,然后要使用p3p了。
然后每一天的0时起,重新算一个uv
------解决方案--------------------
有个函数 你可以试试看
function getIP() {
if (@$_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (@$_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (@$_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (@getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (@getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (@getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
------解决方案--------------------
看一下tcp原理你就知道原因了.
------解决方案--------------------
一般不可以(除非内网的出口网关被设置成了“透明网关”)
不过就算是知道了,又有什么意义呢?
你又不可能从服务器访问回去!
就好比有的人非要想知道用户上传的文件在用户机器上的位置一样
既然你不可能从外部访问到,知道了又有什么用呢?
------解决方案--------------------
这个除了黑了对方主机一般没办法吧
------解决方案--------------------
判断独立访客只能是通过cookie
------解决方案--------------------
独立访客是cookies+时间去判断的。
会生成一个cookies到本地,然后要使用p3p了。
然后每一天的0时起,重新算一个uv
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: 解决ThinkPHP中以Get模式提交中文字符乱码
下一篇: uchome群组改无限归类
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论