Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
在网卡随便一搜: Asp.net 客户端IP
可以搜索到很多页面,提供的代码基本都类似于:
代码如下:
if (Request.ServerVariables["HTTP_VIA"] != null)
return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];
else
return Request.ServerVariables["REMOTE_ADDR"];
上述代码里的HTTP_VIA和HTTP_X_FORWARDED_FOR,都是从客户端提交的Header里获取的,而在正常的HTTP交互中,REMOTE_ADDR是无法伪造的(注),
所以如果某个网站是通过上面的代码获取IP,那么我们只要在Header里随意设置HTTP_VIA和X_FORWARDED_FOR,就可以达到伪造IP的目的,可以使用FireFox的插件“Modify Headers”来测试,用它添加Header
注:实际上,REMOTE_ADDR也是可以伪造的,但是会造成无法正常接收数据,好比写信时,发件人写假地址,那当然不可能收到对方的回复了
相关推荐
-
ASP.NET 获取客户端IP方法
话不多说,请看代码: string requestClientIpAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(requestClientIpAddress)) requestClientIpAddress = HttpContext.Current.Request.ServerVariables["REMOTE_A
-
ASP.NET获取真正的客户端IP地址的6种方法
在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址. 要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取. 不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables(
-
asp.net 获取客户端浏览器访问的IP地址的实例代码
本文介绍了asp.net 获取客户端浏览器访问的IP地址的实例代码,分享给大家,自己也留个笔记 1.js方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <script src="http://pv.sohu.com/cityjson?ie=utf-8"></scr
-
Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
在网卡随便一搜: Asp.net 客户端IP 可以搜索到很多页面,提供的代码基本都类似于: 复制代码 代码如下: if (Request.ServerVariables["HTTP_VIA"] != null) return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0]; else return Request.ServerVariables["RE
-
批处理获取网卡名称的代码(附修改IP、网关、DNS脚本)
复制代码 代码如下: ::用ipconfig /all命令获取网卡名称. FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j ::用for命令删除网卡名称后面的冒号. FOR /F "tokens=1* delims=:" %%i in ("%name%") do set 网卡名称=%%i 套用上面的脚本
-
ASP.Net获取客户端网卡MAC的小例子
复制代码 代码如下: using System.Text.RegularExpressions;using System.Diagnostics;public class test{ public test {} public static string GetCustomerMac(string IP) //para IP is the clients IP { string dirResults="&qu
-
asp怎么获取毫秒数实现代码
复制代码 代码如下: <%@ Language=VBScript %><%Response.Expires =0 %> <DOCTYPE html public='-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <HTML xmlns="http://www.w3.org/1999/xh
-
asp.net实现获取客户端详细信息
本文实例讲述了asp.net实现获取客户端详细信息代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: 其中aspx页面的控件代码: 复制代码 代码如下: <asp:ListBox runat="server" ID="lbHoverTreeInfo" ClientIDMode="Static"> </asp:ListBox> 以下是实现代码: using System; using System.W
-
c#获取客户端IP地址(考虑代理)
说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己在项目中做过的事情,同时也想抛砖引玉.参考的博文及其作者在下文均有提及.待到自己以后对HTTP.TCP/IP等知识学深入了,一定再来这里深入讨论这个内容. 一.名词 首先说一下接下来要讲到的一些名词. 在Web开发中,我们大多都习惯使用HTTP请求头中的某些属性来获取客户端的IP地址,常见的属性是REMOTE_ADDR.HTTP_VIA和HTTP_X_F
-
Javascript 判断客户端浏览器类型代码
复制代码 代码如下: <script type="text/javascript"> /*详细方法1*/ function CheckBrowser() { var app=navigator.appName; var verStr=navigator.appVersion; //火狐浏览器 if (app.indexOf('Netscape') != -1) { alert("你使用的是Netscape浏览器或火狐浏览器."); } else if (
随机推荐
- Angular.js之作用域scope'@','=','&'实例详解
- jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
- jQuery 1.0.4 - New Wave Javascript(js源文件)
- Android手机信号强度检测详细介绍
- 使用Android Studio 开发自己的SDK教程
- php常用字符串输出方法分析(echo,print,printf及sprintf) 原创
- javascript 调用XML制作连动下拉框
- ajax添加数据后如何在网页显示
- ASP解压缩(在线解压缩类)
- js动态创建、删除表格示例代码
- Java如何获取Date的“昨天”与“明天”示例代码
- jQuery实现菜单式图片滑动切换
- HDwiki 5.1下iis的rewrite规则分享
- 正确认识宽带路由器的主要参数
- SSIS 延迟验证方法
- SpringBoot 部署到服务器上的方法
- tp5(thinkPHP5)框架实现多数据库查询的方法
- jQuery实现的淡入淡出与滑入滑出效果示例
- javap命令的使用技巧
- python实现RabbitMQ的消息队列的示例代码