CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

发现一个ip编码的问题

楼主lamking(卖空间,做网页 QQ:628557)2004-08-04 18:22:06 在 Web 开发 / ASP 提问

发现很多论坛,文章系统,留言版等都有记录ip的功能.  
  或者把ip以字符串方式存入数据库,或者经过编码后存入数据库,但这里面都忽略了一个问题  
  Request.ServerVariables("HTTP_X_FORWARDED_FOR")  
  这个东西返回的值有很多可能  
  1.空值     这通常是用户没有使用代理.  
  2.一个合法的ip地址   这表明用户使用了代理  
  3.多个合法ip构成的字符串比如  
    202.112.14.151,202.112.14.161  
  而且不止是两个还有可能更多.这通常发生在使用了多层代理的情况下.  
   
  对于1,2   通常程序都能很好的处理,对于第3个,一些编码函数就要出错。  
  网上很多ip地址编码采用的是类似下面的函数  
  function   IpEncode(byval   uip)  
  if   isnull(uip)   or   uip=""   then  
  IpEncode=0  
  else  
  dim   ary_ip,n  
  ary_ip=split(trim(uip),".")  
  n=ubound(ary_ip)  
  if   n=3   then  
  IpEncode=ary_ip(0)*256*256*256+ary_ip(1)*65536+ary_ip(2)*256+ary_ip(3)  
  else  
  IpEncode=0  
  end   if  
  end   if  
  end   function  
  这样编码后的数字将是0  
  解码后ip地址当然0.0.0.0这种奇怪的地址...  
  问题点数:100、回复次数:6Top

1 楼lamking(卖空间,做网页 QQ:628557)回复于 2004-08-04 18:25:28 得分 0

另外一些数据库存储ip的通常只有文本类型的设置20个宽度(双精度的没问题了)  
  有可能装不下Top

2 楼laihongbo524(风铃夜思雨)回复于 2004-08-04 18:45:41 得分 0

准备点的编码格式是,如下:  
  202.102.179.104  
   
  202*256*256*256   +   102*256*256   +   179*256   +   104-1  
   
  Top

3 楼xiaobird1(Vincent)回复于 2004-08-04 18:47:34 得分 0

呵,没关注过,  
  关注ing。  
  Top

4 楼yangdengfeng2003(紫电清霜)回复于 2004-08-04 18:54:17 得分 0

dingTop

5 楼yangvb(虚拟)回复于 2005-06-15 13:38:00 得分 50

dingTop

6 楼lly365(lly365)回复于 2005-06-15 13:39:37 得分 50

同上Top

相关问题

  • IP编码问题.求解
  • 共享软件编码后,发现Bugs太多怎么办?
  • 发现自己患上了编码综合症
  • 100分求IP编码转换Java代码
  • 编码又见编码
  • 编码问题
  • 编码表
  • javascript编码--innerText
  • 编码问题
  • 如何编码?

关键词

  • 编码
  • 数据库
  • ip
  • ary
  • uip
  • 地址
  • 问题
  • 使用

得分解答快速导航

  • 帖主:lamking
  • yangvb
  • lly365

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo