解读Asp.net教程:设计IP地址屏蔽功能(2)_.Net教程
推荐:.Net教程之HTTP状态码200,301,302跳转非常常用,在哪里都一样,这里的一些说明和用法也如此,不止适用于asp.net,其他语言也会用得到。跳转的目的本来很简单,就是当用户或系统需要时从一个页面转向另一个页面,但自从有了
这里还有一个用于逆转换的扩展方法,用于将long转回IPAddress:
以下为引用的内容:
/// <summary> /// 将整数转为IP地址 /// </summary> /// <returns>IP地址</returns> public static IPAddress 转换为IP地址(this long l) { for (int i = 0; i < 4; i ) { b[3 - i] = (byte)(l >> 8 * i & 255); } return new IPAddress(b); } |
这样我们就可以通过计算得到正确并有意义的整数了:
以下为引用的内容:
“127.0.0.1” -> 2130706433 “127.0.0.2” –> 2130706434 |
OK,确立了方案核心,下面开始设计SQLServer数据表:
这样设计后,在添加时将起始和终止IP地址转为long类型并存入,并指定一个过期时间。
在验证时只需要获取所有未过期的条目,比较传入的IP地址是否介于起始值和终止值之间即可。
以往通过字符串存储和验证的方案中,屏蔽时要么屏蔽一个精确的IP地址,要么就屏蔽一段或两段IP,如“192.168.*.*”,要想屏蔽“192.168.1.200”到“192.168.4.64”之间的IP的话,将会非常麻烦;
而我们这样设计就可以轻松实现:“192.168.1.200”在数据库里存储的是“3232235976”,“192.168.4.64”在数据库中是“3232236608”,即使使用肉眼也能极快地判断传入的地址是否介于它们之间,更不要说计算机查询了。
分享:解析.NET程序员 Ruby核心语法入门本文的目的是为了找出为什么.NET程序员都想学习并使用Ruby,并探索Ruby语言的核心语法。 微软的IronRuby项目为Windows平台带来了强大的动态语言,Ruby编程语言是一个现代的,面向对象的
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-解读Asp.net教程:设计IP地址屏蔽功能(2)。