读书人

怎么判断用户IP在小弟我设置的IP范围中

发布时间: 2012-05-27 05:42:30 作者: rapoo

如何判断用户IP在我设置的IP范围中?
我有一张IP设置表,结构如下:
idNumber(10)Not null,/*按规则自动生成 单位ID*/
unitVarchar2(50),/*单位*/
areaVarchar2(60),/*地区*/
StartIP1number(3),/*起始ip第一段*/
StartIP2number(3),/*起始ip第二段*/
StartIP3number(3),/*起始ip第三段*/
StartIP4number(3),/*起始ip第四段*/
EndIP1number(3),/*结束ip第一段*/
EndIP2number(3),/*结束ip第二段*/
EndIP3number(3),/*结束ip第三段*/
EndIP4number(3),/*结束ip第四段*/

我现在要判断当前访问者的IP是否在我设置的范围中,求教该SQL怎么写?

[解决办法]
由StartIP1*256*256*256+StartIP2*256*256+StartIP3*256+StartIP4得到一个整数A;EndIP的4个也类似,得到另一个整数B,访问者的IP也得到一个整数C,判断A<=C<=B。
[解决办法]
支持#2楼,IP地址是用点分隔的4位数字,每一位跟前一位之间的进位是256,把前一位乘以256加后一位这样可以换算成一个数字。
其实有些数据库是有内置函数可以把IP地址在点分格式和数字格式之间转换的,比如MySql

读书人网 >asp.net

热点推荐