php获取用户(客户端)真实IP地址的三种方法
查看代码打印
01 function get_real_ip(){
02 $ip=false;
03 if(!empty($_SERVER['>requestgetRemoteAddr()如何获取用户真实的IP地址
要获得用户真实的IP地址需要借助请求报头中的x-forwarded-for变量。
requestgetHeader("x-forwarded-for");
完整实例如下
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javautil"%>
<%
String realIP = requestgetHeader("x-forwarded-for");
String ip = requestgetRemoteAddr();
Enumeration enum = requestgetHeaderNames();
while(enumhasMoreElements())
{
String name = (String)enumnextElement();
String value = requestgetHeader(name);
outwrite(name + "=" + value + "<br$amp;>quot;$);
}
%>
你的IP地址是:<%=realIP%>
转载,仅供参考。使用命令
RequestUserHostAddress;//IP地址
RequestUserHostName;//用户名。
1 在ASPNET中专用属性:
获取服务器电脑名:PageServerManchineName
获取用户信息:PageUser
获取客户端电脑名:PageRequestUserHostName
获取客户端电脑IP:PageRequestUserHostAddress
2 在网络编程中的通用方法:
获取当前电脑名:static SystemNetDnsGetHostName()
根据电脑名取出全部IP地址:static SystemNetDnsResolve(电脑名)AddressList
也可根据IP地址取出电脑名:static SystemNetDnsResolve(IP地址)HostName
3 系统环境类的通用属性:
当前电脑名:static SystemEnvironmentMachineName
当前电脑所属网域:static SystemEnvironmentUserDomainName
当前电脑用户:static SystemEnvironmentUserName
就以上这些方法。
获取客户端ip其实不是个简单的事儿,因为存在IP欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确。但是我们还是可以尽量写一些比较完善的获取客户端真正ip方法。使用php获取IP的方法能有很多,我简单给个例子:
<phpfunction getip() {
$unknown = 'unknown';
if(isset($_SERVER[';
1、没有使用代理的情况
REMOTE_ADDR = 客户端IP
>
2、使用透明代理的情况
REMOTE_ADDR = 最后一个代理服务器 IP
>
3、使用普通的匿名代理
REMOTE_ADDR = 最后一个代理服务器 IP
>
4、使用欺骗性代理服务器
REMOTE_ADDR = 代理服务器 IP
>
5、使用高级匿名代理服务器
REMOTE_ADDR = 代理服务器 IP
>
使用这种方法查询对方计算机的IP地址时,首先要求对方先给你发一封电子邮件,然后你可以通过查看该邮件属性的方法,来获得邮件发送者所在计算机的IP地址;下面就是该方法的具体实施步骤:
首先运行OutLookexpress程序,并单击工具栏中的“接受全部邮件”按钮,将朋友发送的邮件接受下来,再打开收件箱页面,找到朋友发送过来的邮件,并用鼠标右键单击之,从d出的右键菜单中,执行“属性”命令;
在其后打开的属性设置窗口中,单击“详细资料”标签,并在打开的图1标签页面中,你将看到“Received:fromxiecaiwen(unknown[111114525])”这样的信息,其中的“111114525”就是对方好友的IP地址;当然,要是对方好友通过Internet中的WEB信箱给你发送电子邮件的话,那么你在这里看到的IP地址其实并不是他所在工作站的真实IP地址,而是WEB信箱所在网站的IP地址。
当然,如果你使用的是其他邮件客户端程序的话,查看发件人IP地址的方法可能与上面不一样;例如要是你使用foxmail来接受好友邮件的话,那么你可以在收件箱中,选中目标邮件,再单击菜单栏中的“邮件”选项,从d出的下拉菜单中选中“原始信息”命令,就能在其后的界面中看到对方好友的IP地址了。
2、日志查询法
这种方法是通过防火墙来对QQ聊天记录进行实时监控,然后打开防火墙的日志记录,找到对方好友的IP地址。为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友的IP地址:
考虑到与好友进行QQ聊天是通过UDP协议进行的,因此你首先要设置好KV2004防火墙,让其自动监控UDP端口,一旦发现有数据从UDP端口进入的话,就将它自动记录下来。在设置KV2004防火墙时,先单击防火墙界面中的“规则设置”按钮,然后单击“新建规则”按钮,d出图2所示的设置窗口;
在该窗口的“名称”文本框中输入“搜查IP地址”,在“说明”文本框中也输入“搜查IP地址”;再在“网络条件”设置项处,选中“接受数据包”复选框,同时将“对方IP地址”设置为“任何地址”,而在“本地IP地址”设置项处不需要进行任何设置;
下面再单击“UDP”标签,并在该标签页面下的“本地端口”设置项处,选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”;同样地,在“对方端口”设置项处,也选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”。
接着在“当所有条件满足时”设置项处,选中“通行”选项,同时将“其他处理”处的“记录”选项选中,而“规则对象”设置项不需要进行任何设置;完成了上面的所有设置后,单击“确定”按钮,返回到防火墙的主界面;再在主界面中选中刚刚创建好的“搜查IP地址”规则,同时单击“保存”按钮,将前面的设置保存下来。
完成好上面的设置后,KV2004防火墙将自动对QQ聊天记录进行全程监控,一旦对方好友给你发来QQ信息时,那么对方好友的IP地址信息就会自动出现在防火墙的日志文件中,此时你可以进入到KV2004防火墙的安装目录中,找到并打开“kvfwlog”文件,就能搜查到对方好友的IP地址。#
3、工具查询法
这种方法是通过专业的IP地址查询工具,来快速搜查到对方计算机的IP地址。例如,借助一款名为WhereIsIP的搜查工具,你可以轻松根据对方好友的Web网站地址,搜查得到对方好友的IP地址,甚至还能搜查到对方好友所在的物理位置。在用WhereIsIP程序搜查对方IP地址时,首先启动该程序打开如图3所示的搜查界面,然后单击该界面的“Website”按钮,在其后的窗口中输入对方好友的Web地址,再单击“next”按钮,这样该程序就能自动与Internet中的DomainNameWhois数据库联系,然后从该数据库中搜查到与该Web网站地址对应的IP地址了。当然,除了可以知道IP地址外,你还能知道对方好友所在的具体物理位置。
倘若要想查看局域网中某个工作站的IP地址时,可以使用“网络刺客II”之类的工具来帮忙;只要你运行该工具进入到它的主界面,然后执行工具栏中的“IP地址<->主机名”命令,在其后打开的对话框中,输入对方好友的计算机名称,再单击“转换成IP”按钮,就能获得对方好友所在计算机的IP地址了。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
不加这项配置ip请求是通过nginx 转发的,只能获取到nginx 配置。 加上之后 可以获取到客户端配置
/usr/local/nginx/conf/config
/usr/local/nginx/sbin
/nginx -s reload
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)