| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 760 人关注过本帖
标题:帮忙看看代码!
只看楼主 加入收藏
wyjx
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-8-19
收藏
 问题点数:0 回复次数:2 
帮忙看看代码!
程序代码:
Function IP()
        Dim strIPAddr 
        If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then 
            strIPAddr = Request.ServerVariables("REMOTE_ADDR") 
        ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then 
            strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1) 
            actforip=Request.ServerVariables("REMOTE_ADDR")
        ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then 
            strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
            actforip=Request.ServerVariables("REMOTE_ADDR")
        Else 
            strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 
            actforip=Request.ServerVariables("REMOTE_ADDR")
        End If 
        IP = Trim(Mid(strIPAddr, 1, 30))
End Function

这能不能简略一些代码?
我有一个IP数据库,用什么代码来得转换IP到相应的页面?
数据库字段有  Startip   Endip  country  ReUrl 四个字段
搜索更多相关主题的帖子: Request FORWARDED HTTP InStr strIPAddr 
2008-07-05 12:46
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
这个代码似乎相当完整。
我用的是这个代码:
程序代码:
Function IP
    IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If IP = "" Then IP = Request.ServerVariables("REMOTE_ADDR")
End Function


首先将得到的点分十进制IP转换为十进制IP,就是把点分十进制IP看做一个256进制数,转换为10进制,结果是Long型。
然后用SQL语句查询出StartIP<=IP<=EndIP的记录,跳转到ReUrl字段的内容。

[[it] 本帖最后由 multiple1902 于 2008-7-5 17:11 编辑 [/it]]
2008-07-05 13:02
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
Request.ServerVariables("HTTP_X_FORWARDED_FOR") 是获取代理IP
Request.ServerVariables("REMOTE_ADDR") 是获取原始IP

当代理IP为空时就获取原始IP,以原始IP为主
当代理IP不为空时就获取代理IP,以代理IP为主

我也是这样写的
楼主的代码过于复杂化了

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-07-05 13:52
快速回复:帮忙看看代码!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029668 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved