易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.net 获得客户端的IP

  ASP.net 获得客户端的IP,最常见的是使用下述代码: string user_IP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
对于了解代理服务器情况的人,我们会知道,如果用户使用了代理服务器,上述代码获得的是代理服务器的IP地址;如果用户使用了多个代理服务器,则是到达服务器的最后一个代理服务器的IP地址。
REMOTE_ADDR 说明:
访问客户端的 IP 地址。

此项信息用户不可以修改。

如果真的给改了的话,你也和服务器连接不了了,服务器就是按照这个来与客户端建立连接并进行通讯的。实际我测试修改这个 ServerVariables , 一点效果都没有。仍然获得是实际的值。

另: Request.UserHostAddress 和 Request.ServerVariables["REMOTE_ADDR"] 实际是同一个值。
如何绕过代理服务器获得用户真实的IP地址呢? 这时候我们一般是类似如下的代码(这里我简单起见,没有作一些边界判断)
private static string getIp()
{
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
return System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[]{','})[0];
else
return System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
这样就足够了么? 这样是有问题的,HTTP_X_FORWARDED_FOR 、HTTP_VIA 是可以被冒名的。如果正好这里有SQL注入问题的话,那可非常严重了。
下面我们就来具体看HTTP_VIA 和HTTP_X_FORWARDED_FOR 这两个 ServerVariables。
HTTP_VIA
如果有该条信息, 就证明您使用了代理服务器,代理服务器的地址就是后面的数值。
HTTP_X_FORWARDED_FOR
如果有该条信息, 也证明了您使用了代理服务器代理服务器的地址就是后面的数值。
需要注意的,HTTP_X_FORWARDED_FOR  的值,并不一定是只有一个IP地址,下面的信息也是可能的,每行一条记录。下面数据取材于CSDN 实际的数据。

10.194.73.11

unknown, unknown, 211.100.22.30

203.98.182.163, 203.98.182.163, 203.129.72.215

172.16.20.110, 202.116.64.196, 203.81.21.61

10.194.75.83, 10.194.73.11, 10.194.73.11, unknown

192.168.120.57, unknown, unknown, 211.10.10.195

10.2.4.211, 219.141.250.3

3.242.165.168, 218.108.22.164

unk


相关文档:

ASP.NET 中如何对生成的 HTML 内容流进行控制?

<%@ Page Language="C#" %>  
<%@ Import Namespace="System.IO" %>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<script runat="server">  
  prote ......

asp.net中关于&,双引号和单引号的用法

 关于&、双引号、和单引号的解释
 
下面先简单地说一下他们的意义。
      (1)&是连接运算符,它可以将两个字符串连接成一个字符串。如 
         a="abc" & "def" 
 执行连接运算后,a="abcdef ......

asp.net 图片 画线

Bitmap srcImg = new Bitmap(300, 300); //也可以读入一张图片
Graphics graphics = Graphics.fromImage(srcImg);
Font font = new Font("宋体", 16); //字体与大小
Brush brush = new SolidBrush(Color.Red);
graphics.DrawString("www.cftea.com", font, brush, 50, 50); //写字,最后两个参数表示位置
Pen pen = ne ......

asp.net 导出Excel/Word

asp.net中导出有很多方法。其中比较推荐的兼容导出是导出为word/excel兼容的mhtml格式并设置流格式为word或excel。
这中方法的好处是可以建立一个通用的库。本文中提出了一个通用的导出类,实践中使用效果较好。(ps,html解析类写的比较仓促,各位如有兴趣可重写一下~)
///
///@Author Simsure
///@Version 1.0
/// ......

ASP.NET 数学公式表示

最近看到一些消息,感觉HTML5仍然遥遥无期,网页浏览器表现层的东西,依然各自为主,Ajax广泛流行;Adobe的Flash强大坚挺;微软SilverLight野心更大,打算开放COM接口,甚至传出基于SilverLight的操作系统。这些东西牛皮吹得大大的,但在网上要找个比较好用的数学公式(或化学式子)表示,都比较难。

向计算机输 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号