asp中如何取得用户的IP?

onlinehiker 2004-08-20 05:43:26
同题!
...全文
209 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
shootarrow 2004-08-22
  • 打赏
  • 举报
回复
MARK
onlinehiker 2004-08-22
  • 打赏
  • 举报
回复
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

这个似乎不行啊!
顺子 2004-08-22
  • 打赏
  • 举报
回复
大家都說的這么全呀﹐
學習ing~~~~
VBAHZ 2004-08-22
  • 打赏
  • 举报
回复
如何在VB中使用这个方法呢?
wsdzmhongm 2004-08-22
  • 打赏
  • 举报
回复
USER_IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If USER_IP = "" Then
USER_IP = Request.ServerVariables("REMOTE_ADDR")
end if
onlinehiker 2004-08-22
  • 打赏
  • 举报
回复
呵呵,关注中.....
jyzxpboy 2004-08-20
  • 打赏
  • 举报
回复
在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务
器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实
IP 地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。
  不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端
的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。
  还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables
("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

  即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。

yyqllxh2004 2004-08-20
  • 打赏
  • 举报
回复
1楼就行
opolmzy 2004-08-20
  • 打赏
  • 举报
回复
userip=Request.ServerVariables("HTTP_X_FORWARDED_FOR")

If userip = "" then userip=Request.ServerVariables("REmote_ADDR")

rs=split(userip,".")
rs(3)="*"
iip=rs(0)& "."& rs(1)& "."& rs(2)& "."& rs(3)
response.write "<br>你的IP是:"&iip&""
danis_yang 2004-08-20
  • 打赏
  • 举报
回复
请问如果把IP从库中调出,显示在页面,但我想显示时屏蔽掉最后三位

像192.168.1.*

该怎么做啊???
dragonlyf 2004-08-20
  • 打赏
  • 举报
回复
request("REMOTE_ADDR")
anwell 2004-08-20
  • 打赏
  • 举报
回复
mark
zihualive 2004-08-20
  • 打赏
  • 举报
回复
request.servervariables("REMOTE_ADDR")
nbstoneboy 2004-08-20
  • 打赏
  • 举报
回复
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR" )
If ip = "" Then
ip = Request.ServerVariables("REMOTE_ADDR" )
end if
flying310 2004-08-20
  • 打赏
  • 举报
回复
ip=request.servervariables("REMOTE_ADDR")
暴露无疑。
nnjieguo 2004-08-20
  • 打赏
  • 举报
回复
ip=request.servervariables("REMOTE_ADDR")
就可以了
loveme2000ok 2004-08-20
  • 打赏
  • 举报
回复
Private Function getIP()

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)
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)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
ghy412 2004-08-20
  • 打赏
  • 举报
回复
楼上说得很全!
xzq686 2004-08-20
  • 打赏
  • 举报
回复
ASP如何获取真实IP地址:


在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务
器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实
IP 地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。
  不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端
的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。
  还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables
("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

  即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。
comehope 2004-08-20
  • 打赏
  • 举报
回复
Request.ServerVariables("REMOTE_ADDR")

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧