分类: 网络预览模式: 普通 | 列表

适用于比较的IP地址列表保存在XML文件里,判断某IP(客户端 )是否属于列表中的IP或IP段。

C#代码
  1. /// <summary>  
  2. /// 判断客户端IP是否在免受限列表  
  3. /// </summary>  
  4. /// <param name="BlLimited"></param>  
  5. /// <param name="CustomerIP"></param>  
  6. /// <returns></returns>  
  7. private bool IsInTheNoLimitIPs(string CustomerIP)  
  8. {  
  9.     //add by Ancher 20120921  
  10.     if (CustomerIP != "")  
  11.     {  
  12.         XmlDocument xmlDOC = new XmlDocument();  
  13.         xmlDOC.Load(Server.MapPath("WebPages\\Search\\NoLimitedIPList.xml"));  
  14.         XmlNodeList xmlNodeIPList = xmlDOC.GetElementsByTagName("NoLimitedIP");  
  15.         foreach (XmlNode xmlLNode in xmlNodeIPList)  
  16.         {  
  17.             string xmlIP = xmlLNode.InnerText.Trim();  
  18.             string[] IPs = CustomerIP.Split('.');    
  19.             long inIP1 = long.Parse(IPs[0]);  
  20.             long inIP2 = long.Parse(IPs[1]);  
  21.             long inIP3 = long.Parse(IPs[2]);  
  22.             long inIP4 = long.Parse(IPs[3]);  
  23.             if (xmlIP.IndexOf('*') != -1)  
  24.             {  
  25.                 string IPSegmentA = inIP1 + ".*.*.*";  
  26.                 string IPSegmentB = inIP1 + "." + inIP2 + ".*.*";  
  27.                 string IPSegmentC = inIP1 + "." + inIP2 + "." + inIP3 + ".*";  
  28.                 if (IPSegmentA == xmlIP || IPSegmentB == xmlIP || IPSegmentC == xmlIP)  
  29.                 {  
  30.                     return true;  
  31.                 }  
  32.             }  
  33.             else if (xmlIP.IndexOf('-') != -1)  
  34.             {  
  35.                 long tmpIpNumber = inIP1 * 256 * 256 * 256 + inIP2 * 256 * 256 + inIP3 * 256 + inIP4;  
  36.                 if (xmlIP.IndexOf("-") != -1)  
  37.                 {  
  38.                     string[] IPToIP = xmlIP.Split('-');  
  39.                     string IPToIP1 = IPToIP[0];  
  40.                     string IPToIP2 = IPToIP[1];  
  41.                     string[] ToIP1s = IPToIP1.Split('.');  
  42.                     string[] ToIP2s = IPToIP2.Split('.');  
  43.                     long IP1Number = long.Parse(ToIP1s[0]) * 256 * 256 * 256 + long.Parse(ToIP1s[1]) * 256 * 256 + long.Parse(ToIP1s[2]) * 256 + long.Parse(ToIP1s[3]);  
  44.                     long IP2Number = long.Parse(ToIP2s[0]) * 256 * 256 * 256 + long.Parse(ToIP2s[1]) * 256 * 256 + long.Parse(ToIP2s[2]) * 256 + long.Parse(ToIP2s[3]);  
  45.                     if (IP1Number < tmpIpNumber && tmpIpNumber < IP2Number)  
  46.                     {  
  47.                         return true;  
  48.                     }  
  49.                 }  
  50.             }  
  51.   
  52.             else  
  53.             {  
  54.                 if (CustomerIP == xmlIP)  
  55.                 {  
  56.                     return true;  
  57.                 }  
  58.   
  59.             }  
  60.         }  
  61.     }  
  62.     return false;  
  63. }  

 注意:IP转换为数字类型时不能用int型的,长度不够,最好用Long型的。

C#代码里只考虑了3种列举模式共5种情况,这不是实际应用中的所有情况,当然,IP列表的规则可以尽量往代码的模式靠拢。

XML文件NoLimitedIPList.xml内容如下:

XML/HTML代码
  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <!--  
  3. IP列表配置注意事项:  
  4. 1、具体的单个IP直接写出,如:<NoLimitedIP>192.168.0.5</NoLimitedIP>  
  5. 2、以某些数字开头的IP段用*代替之后的数字,如<NoLimitedIP>192.168.*.*</NoLimitedIP>  
  6. 3、给出了IP段临界值的,请把临界值写出并用-连接,如:<NoLimitedIP>192.186.0.5-192.168.0.200</NoLimitedIP>  
  7. -->  
  8. <NoLimitedIPList>  
  9.   <NoLimitedIP>192.167.*.*</NoLimitedIP>    
  10.   <NoLimitedIP>192.168.0.5</NoLimitedIP>  
  11.   <NoLimitedIP>192.168.0.5-192.168.0.200</NoLimitedIP>  
  12.   
  13. </NoLimitedIPList  

查看更多...

Tags: ASP.net C# IP Web

分类:网络 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4280

网页WEB安全色大全

WEB安全色,我觉得应该叫WEB保真色WEB通用色

web安全色,就是网页安全色。 名字虽然有安全,但是和网站的安全无关。叫这个名字,是因为这些色彩在不同的显示设备和操作系统上表现基本一致,在显示效果上没有任何失真的风险。非安全色换一个OS环境,颜色就可能失真。

因为我们用的各种设备基本都是用RGB模式表示色彩,由R(红)、G(绿)、B(蓝)三原色混合成各种其它颜色。把原色按光强划分若干色阶,再各原 色取一个色阶混合得到实际颜色。目前我们的PC把各个基本色彩的色阶划分256阶(00-FF),R、G、B混合可得色彩为256^3=16777216 种,即24位真彩色。

但是这24位颜色不是所有的设备都能显示,有些设备只有256色,有些OS最后得到的颜色和Windows不同。其中有216种颜色,在几乎所有的彩色环境都能显示,就是推荐用在设计中的安全色了。

它的来源却是在256色(8位)老设备时代,那时候选定256种颜色的通常做法是:分RGB为6阶得216种色彩,再另外选择40种色彩凑成256色。216色来自于色阶的6等分,在各厂商的实现中都是一样,其它40种颜色由厂商自己选,所以各设备都不同。

我们现在的256色阶(24位),划分时都包含了以前的216种公共色。把256分6份取16进制,就是(00,33,66,99,CC,FF), 现在取216色就是将这六个数字进行任意排列组合。如#0000FF为纯蓝,在web设计中,因为安全色都是双数,我们一般都把6字缩写成3字,这 样#0000FF就是#00F。

000000
R - 000
G - 000
B - 000
333333
R - 051
G - 051
B - 051
666666
R - 102
G - 102
B - 102
999999
R - 153
G - 153
B - 153
CCCCCC
R - 204
G - 204
B - 204
FFFFFF
R - 255
G - 255
B - 255
000033
R - 000
G - 000
B - 051
333300
R - 051
G - 051
B - 000
666600
R - 102
G - 102
B - 000
999900
R - 153
G - 153
B - 000
CCCC00
R - 204
G - 204
B - 000
FFFF00
R - 255
G - 255
B - 000
000066
R - 000
G - 000
B - 102
333366
R - 051
G - 051
B - 102
666633
R - 102
G - 102
B - 051
999933
R - 153
G - 153
B - 051
CCCC33
R - 204
G - 204
B - 051
FFFF33
R - 255
G - 255
B - 051
000099
R - 000
G - 000
B - 153
333399
R - 051
G - 051
B - 153
666699
R - 102
G - 102
B - 153
999966
R - 153
G - 153
B - 102
CCCC66
R - 204
G - 204
B - 102
FFFF66
R - 255
G - 255
B - 102
0000CC
R - 000
G - 000
B - 204
3333CC
R - 051
G - 051
B - 204
6666CC
R - 102
G - 102
B - 204
9999CC
R - 153
G - 153
B - 204
CCCC99
R - 204
G - 204
B - 153
FFFF99
R - 255
G - 255
B - 153
0000FF
R - 000
G - 000
B - 255
3333FF
R - 051
G - 051
B - 255
6666FF
R - 102
G - 102
B - 255
9999FF
R - 153
G - 153
B - 255
CCCCFF
R - 204
G - 204
B - 255
FFFFCC
R - 255
G - 255
B - 204
003300
R - 000
G - 051
B - 000
336633
R - 051
G - 102
B - 051
669966
R - 102
G - 153
B - 102
99CC99
R - 153
G - 204
B - 153
CCFFCC
R - 204
G - 255
B - 204
FF00FF
R - 255
G - 000
B - 255
006600
R - 000
G - 102
B - 000
339933
R - 051
G - 153
B - 051
66CC66
R - 102
G - 204
B - 102
99FF99
R - 153
G - 255
B - 153
CC00CC
R - 204
G - 000
B - 204
FF33FF
R - 255
G - 051
B - 255
009900
R - 000
G - 153
B - 000
33CC33
R - 051
G - 204
B - 051
66FF66
R - 102
G - 255
B - 102
990099
R - 153
G - 000
B - 153
CC33CC
R - 204
G - 051
B - 204
FF66FF
R - 255
G - 102
B - 255
00CC00
R - 000
G - 204
B - 000
33FF33
R - 051
G - 255
B - 051
660066
R - 102
G - 000
B - 102
993399
R - 153
G - 051
B - 153
CC66CC
R - 204
G - 102
B - 204
FF99FF
R - 255
G - 153
B - 255
00FF00
R - 000
G - 255
B - 000
330033
R - 051
G - 000
B - 051
663366
R - 102
G - 051
B - 102
996699
R - 153
G - 102
B - 153
CC99CC
R - 204
G - 153
B - 204
FFCCFF
R - 255
G - 204
B - 255
00FF33
R - 000
G - 255
B - 051
330066
R - 051
G - 000
B - 102
663399
R - 102
G - 051
B - 153
9966CC
R - 153
G - 102
B - 204
CC99FF
R - 204
G - 153
B - 255
FFCC00
R - 255
G - 204
B - 000
00FF66
R - 000
G - 255
B - 102
330099
R - 051
G - 000
B - 153
6633CC
R - 102
G - 051
B - 204
9966FF
R - 153
G - 102
B - 255
CC9900
R - 204
G - 153
B - 000
FFCC33
R - 255
G - 204
B - 051
00FF99
R - 000
G - 255
B - 153
3300CC
R - 051
G - 000
B - 204
6633FF
R - 102
G - 051
B - 255
996600
R - 153
G - 102
B - 000
CC9933
R - 204
G - 153
B - 051
FFCC66
R - 255
G - 204
B - 102
00FFCC
R - 000
G - 255
B - 204
3300FF
R - 051
G - 000
B - 255
663300
R - 102
G - 051
B - 000
996633
R - 153
G - 102
B - 051
CC9966
R - 204
G - 153
B - 102
FFCC99
R - 255
G - 204
B - 153
00FFFF
R - 000
G - 255
B - 255
330000
R - 051
G - 000
B - 000
663333
R - 102
G - 051
B - 051
996666
R - 153
G - 102
B - 102
CC9999
R - 204
G - 153
B - 153
FFCCCC
R - 255
G - 204
B - 204
00CCCC
R - 000
G - 204
B - 204
33FFFF
R - 051
G - 255
B - 255
660000
R - 102
G - 000
B - 000
993333
R - 153
G - 051
B - 051
CC6666
R - 204
G - 102
B - 102
FF9999
R - 255
G - 153
B - 153
009999
R - 000
G - 153
B - 153
33CCCC
R - 051
G - 204
B - 204
66FFFF
R - 102
G - 255
B - 255
990000
R - 153
G - 000
B - 000
CC3333
R - 204
G - 051
B - 051
FF6666
R - 255
G - 102
B - 102
006666
R - 000
G - 102
B - 102
339999
R - 051
G - 153
B - 153
66CCCC
R - 102
G - 204
B - 204
99FFFF
R - 153
G - 255
B - 255
CC0000
R - 204
G - 000
B - 000
FF3333
R - 255
G - 051
B - 051
003333
R - 000
G - 051
B - 051
336666
R - 051
G - 102
B - 102
669999
R - 102
G - 153
B - 153
99CCCC
R - 153
G - 204
B - 204
CCFFFF
R - 204
G - 255
B - 255
FF0000
R - 255
G - 000
B - 000
003366
R - 000
G - 051
B - 102
336699
R - 051
G - 102
B - 153
6699CC
R - 102
G - 153
B - 204
99CCFF
R - 153
G - 204
B - 255
CCFF00
R - 204
G - 255
B - 000
FF0033
R - 255
G - 000
B - 051
003399
R - 000
G - 051
B - 153
3366CC
R - 051
G - 102
B - 204
6699FF
R - 102
G - 153
B - 255
99CC00
R - 153
G - 204
B - 000
CCFF33
R - 204
G - 255
B - 051
FF0066
R - 255
G - 000
B - 102
0033CC
R - 000
G - 051
B - 204
3366FF
R - 051
G - 102
B - 255
669900
R - 102
G - 153
B - 000
99CC33
R - 153
G - 204
B - 051
CCFF66
R - 204
G - 255
B - 102
FF0099
R - 255
G - 000
B - 153
0033FF
R - 000
G - 051
B - 255
336600
R - 051
G - 102
B - 255
669933
R - 102
G - 153
B - 051
99CC66
R - 153
G - 204
B - 102
CCFF99
R - 204
G - 255
B - 153
FF00CC
R - 255
G - 000
B - 204
0066FF
R - 000
G - 102
B - 255
339900
R - 051
G - 153
B - 000
66CC33
R - 102
G - 204
B - 051
99FF66
R - 153
G - 255
B - 102
CC0099
R - 204
G - 000
B - 153
FF33CC
R - 255
G - 051
B - 204
0099FF
R - 000
G - 153
B - 255
33CC00
R - 051
G - 204
B - 000
66FF33
R - 102
G - 255
B - 051
990066
R - 153
G - 000
B - 102
CC3399
R - 204
G - 051
B - 153
FF66CC
R - 255
G - 102
B - 204
00CCFF
R - 000
G - 204
B - 255
33FF00
R - 051
G - 255
B - 000
660033
R - 102
G - 000
B - 051
993366
R - 153
G - 051
B - 102
CC6699
R - 204
G - 102
B - 153
FF99CC
R - 255
G - 153
B - 204
00CC33
R - 000
G - 204
B - 051
33FF66
R - 051
G - 255
B - 102
660099
R - 102
G - 000
B - 153
9933CC
R - 153
G - 051
B - 204
CC66FF
R - 204
G - 102
B - 255
FF9900
R - 255
G - 153
B - 000
00CC66
R - 000
G - 204
B - 102
33FF99
R - 051
G - 255
B - 153
6600CC
R - 102
G - 000
B - 204
9933FF
R - 153
G - 051
B - 255
CC6600
R - 204
G - 102
B - 000
FF9933
R - 255
G - 153
B - 051
00CC99
R - 255
G - 204
B - 153
33FFCC
R - 051
G - 255
B - 204
6600FF
R - 102
G - 000
B - 255
993300
R - 153
G - 051
B - 000
CC6633
R - 204
G - 102
B - 051
FF9966
R - 255
G - 153
B - 102
009933
R - 000
G - 153
B - 051
33CC66
R - 051
G - 204
B - 102
66FF99
R - 102
G - 255
B - 153
9900CC
R - 153
G - 000
B - 204
CC33FF
R - 204
G - 051
B - 255
FF6600
R - 255
G - 102
B - 000
006633
R - 000
G - 102
B - 051
339966
R - 051
G - 153
B - 102
66CC99
R - 102
G - 204
B - 153
99FFCC
R - 153
G - 255
B - 204
CC00FF
R - 204
G - 000
B - 255
FF3300
R - 255
G - 051
B - 000
009966
R - 000
G - 153
B - 102
33CC99
R - 051
G - 204
B - 153
66FFCC
R - 102
G - 255
B - 204
9900FF
R - 153
G - 000
B - 255
CC3300
R - 204
G - 051
B - 000
FF6633
R - 255
G - 102
B - 051
0099CC
R - 000
G - 153
B - 204
33CCFF
R - 051
G - 204
B - 255
66FF00
R - 102
G - 255
B - 000
990033
R - 153
G - 000
B - 051
CC3366
R - 204
G - 051
B - 102
FF6699
R - 255
G - 102
B - 153
0066CC
R - 000
G - 102
B - 204
3399FF
R - 051
G - 153
B - 255
66CC00
R - 102
G - 204
B - 000
99FF33
R - 153
G - 255
B - 051
CC0066
R - 204
G - 000
B - 102
FF3399
R - 255
G - 051
B - 153
006699
R - 000
G - 102
B - 153
3399CC
R - 051
G - 153
B - 204
66CCFF
R - 102
G - 204
B - 255
99FF00
R - 153
G - 255
B - 000
CC0033
R - 204
G - 000
B - 051
FF3366
R - 255
G - 051
B - 102

查看更多...

Tags: 安全色 网页 Web html CSS 颜色代码

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2425

导航菜单栏实现当前页效果,让用户比较直观的知道现在打开的是哪个栏目,效果如下图所示:

图中当前页就是“种植牙”这个栏目,高亮显示。

实现的方法是:

1、为需要标识当前页效果的每一页的<body>加ID的值,比如上图的代码是<body id=m2>

2、菜单栏里的栏目用ID来区分。

查看更多...

Tags: CSS 导航 当前页

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4968

OLE DB Provider for ODBC Drivers (0x80004005)错误

Windows XP 系统,ASP连Access数据库,保存数据时出现下面的错误提示:

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]行中有错误
/HrDemandAccept.asp, 第 246 行

由于多时没有用Access的数据库写网站了,所以一时对这样的提示不知所措,网上搜索,有若干记录是关于这样的提示的问题描述及解答,但未能解决这个问题。后来在Visual Stadio 2005里调试时无意中监视代码里rs.update时才发现问题的根本所在,如下图:

明白是怎么回事了吧?“不能是零长度的字符串”!又想说一句:神奇的MS,出错提示都这么高深。从网上搜索相同问题的结果来看,很多人提到最多的是连接数据库的字串方式,但基本没有人提到这样的原因,算是让我遇上了呀。

查看更多...

Tags: access 数据库 ASP 空值

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1852

关于504 Gateway Time-out 错误的解决方法

Windows 2003 下的ASP 网站,数据库用的是ACCESS的,提示:504 Gateway Time-out /  nginx/0.8.54,如下图:

原因不是很明确,在网站根目录下建一纯静态HTML页面可以访问,有专家提示可能是网页代码有问题,但没有找到问题所在。

网络上有人说与php有关,但这网站没有用到相关的东西。

服务器重启后又行了,没有对页面代码及IIS设置作任何修改。

查看更多...

Tags: IIS Web ASP

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4206

C#入门级学习札记-GridView分页

这几天把所有的东西都放下了,专门在写一个网站的管理功能,算是较之前更接近C#了。回首让我不堪,学习效率之低下,进步之缓慢,面目之可怜,直觉得前几十年好像白活了,不幸不争呀。

怎么连接数据库

C#代码
  1. //直接用SQL词句  
  2. SqlConnection conn = new SqlConnection(DAConfig.MainDBConnString);  
  3. conn.Open();  
  4. SqlCommand comm = new SqlCommand("select b.Addr from FlatInfo a,tcIpAddr b where b.ip='" + value+"'", conn);  
  5. comm.ExecuteDataset();  
  6. conn.Close();  
  7.   
  8. //用集成的SqlHelper类  
  9. DataSet ds = SqlHelper.ExecuteDataset(DAConfig.MainDBConnString, CommandType.Text, "select b.Addr from FlatInfo a,tcIpAddr b where b.ip='" + value + "'");  

或许我是一个骨子里比较守旧的人,过去的经历过的事很难放下,上面直接用SQL连接的语句让我看到了ASP的影子,比较亲切,后面的方式让我耳目一新。

上一札记里记录关于数据绑定的事,前几终于有答案了,是在CSDN.net 论坛上网友告诉的。

查看更多...

Tags: C# ASP.net GridView 分页

分类:网络 | 固定链接 | 评论: 2 | 引用: 0 | 查看次数: 2186

C#初学笔记·控件容器篇

在初学当中,能遇到很多熟手很少遇到的问题,而且在网上还没办法找到同样问题的反映,写下来,当是回忆吧。

1、为什么在tableLayoutPanel的Cell(单元格)里没办法拖放控件?

我们一般是把tableLayoutPanel当容器来用的吧(?)。

问题是这样的:在一个tableLayoutPanel里有多行多列,其中有些已经放置了其他控件,但有些没有放,所以想往里拖控件,但无论如何都进不去,显示是不能放的光标状态。是怎么回事呢?明明里面有10个单元格Cell,而只在8个单元格里了控件呀?后来,在一同事的帮助下,才发现原来其中有一个label的Columnspan的值为3,明白是怎么回事了吧?这个标签占了3个格的位置。

查看更多...

Tags: C# VS 容器 控件 无奈幅 WinForm

分类:互联网 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3761

用动网的论坛系统7年了,但想到要实现图片从展示区调到论坛首页来还是第一次,原因也是一客户要求这样,所以摸索。刚开始在动网的论坛上发帖求助,结果以动网论坛现在的人气,是没有人来回答的,于是想到去问客服,结果客服说要比较麻烦,说要改代码什么的,要技术出动才行。但我是2005年的付费用户,服务期过了,技术支持是不可能了的。于是在其他网站上找方法,但所有的方法都试过了,还是不行。后来在另一个论坛里测试却实现了,原来是在过程中我修改了太多的代码,影响了效果的实现。

教训:如果试了一个方法不行,一定要把该方法的痕迹去除干净,一点不留。

实现后的效果应该是下面的样子,注意,图片是从帖子里动态读取出来的,不是像动网论坛官网的那样是静态的。由于还是一点未能弄明白,所以没有实现5列全部用表格线框起来显示。

查看更多...

Tags: 动网论坛 DVBBS 图片轮滚 FLASH展示 首页调用

分类:互联网 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2215