想实现“你的账号被另外一个人从另外一个IP登录了“

Henry_H 2004-04-07 12:05:37
想实现“你的账号被另外一个人从另外一个IP登录了“或“你的账号被另外一个人从其它地方登录了“这样的功能。请问各位老大该如何写
...全文
80 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
diveas 2004-04-08
  • 打赏
  • 举报
回复
up
wubaozhang 2004-04-08
  • 打赏
  • 举报
回复
回复人: Henry_H(hawk) ( ) 信誉:100 2004-04-07 19:15:00 得分:0


问题是request.serverVariables("REMOTE_HOST")取得是公网ip


没错,我以前做得在线统计是IP+RNDINT写到COOKIES里的,设置超时为一年,然后把取IP换成取COOKIE就可以了:-)

肯定可以实现的!!
zjwz001 2004-04-07
  • 打赏
  • 举报
回复
楼上的方法虽然正确,但会有个问题,那就是如果客户端不正常退出怎么办,比如说:停电:)
最好在楼上的方法再配合一个SESSION,定时检测,如果长时间没动作再清空数据库
anddytang 2004-04-07
  • 打赏
  • 举报
回复
你可以在建一个用户在线表!!

表里包含:用户名,IP

如果某个用户登录了,就记下他登录的IP地址!!

退出的时候就将它清空!

每次用户登录的时候你就到这个表中查找一个就可以了!!
fenlin 2004-04-07
  • 打赏
  • 举报
回复
哈哈,这个问题我研究了很久,最后只能无奈地说:不能实现
Henry_H 2004-04-07
  • 打赏
  • 举报
回复
问题是request.serverVariables("REMOTE_HOST")取得是公网ip
evice 2004-04-07
  • 打赏
  • 举报
回复
用SESSION不存在公网子网的问题
Henry_H 2004-04-07
  • 打赏
  • 举报
回复
如果是公网怎么办,那它的子网不是不能登录?
2599 2004-04-07
  • 打赏
  • 举报
回复
for i=1 to 100
if session("username")=Application("UserName"&i) then
response.write "你的账号被另外一个人从另外一个IP登录了!!"
reponse.end
end if
next
wubaozhang 2004-04-07
  • 打赏
  • 举报
回复
每次登陆时记录IP,访问时校对,如果IP不符合就告诉他有人用它的帐号登陆了就可以了

死机也不怕,因为他需要重新登陆改过IP后才能再比较
evice 2004-04-07
  • 打赏
  • 举报
回复
在Globle.asa文件中做吧,用Application和Session变量。“刚登录一会就断电了呢”---超过一定时间Session自动过期,一样会激发Session的End。
2599 2004-04-07
  • 打赏
  • 举报
回复
yinwenjie(java入门中) 的不错,但是我想知道怎么去删除Application("nowUserName")中的yy呢?请指教
说好不能打脸 2004-04-07
  • 打赏
  • 举报
回复
UserName="yy"

Application("nowUserName") = "yy,tt,ee"

nowUserName = split(Application("nowUserName"),",")

for i = 0 to ubound(nowUserName) - 1
if UserName = nowUserName(i) then
response.write "你的账号被另外一个人从另外一个IP登录了!!"
reponse.end
end if
next

Application("nowUserName") = Application("nowUserName") & "," & UserName

我用Application纪录在登陆页面纪录和监查在线用户,当用户退出时或用户session超时时删去即可,不用操作数据库了
说好不能打脸 2004-04-07
  • 打赏
  • 举报
回复
UserName="yy"

Application("nowUserName") = "yy,tt,ee"

nowUserName = split(Application("nowUserName"),",")

for i = 0 to ubound(nowUserName) - 1
if UserName = nowUserName(i) then
response.write "你的账号被另外一个人从另外一个IP登录了!!"
reponse.end
end if
next

Application("nowUserName") = Application("nowUserName") & "," & UserName

我用Application纪录在登陆页面纪录和监查在线用户,当用户退出时或用户session超时时删去即可,不用操作数据库了
asd119cn 2004-04-07
  • 打赏
  • 举报
回复
session失效以后也可以自动在数据库中清空的!
2599 2004-04-07
  • 打赏
  • 举报
回复
我实现这样的功能了,用的是Application来列出在线用户,这样的话就可以在登陆的时候进行判断了!
ePower518 2004-04-07
  • 打赏
  • 举报
回复
在加一个Session也不管用呀?刚登录一会就断电了呢?
可以想想:什么需要使得要这样考虑?能不能从源头抓起?这样评估以下代价可能会更好

28,391

社区成员

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

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