我在一个浏览器里,用第一个用户登录了一个网站,然后点"退出登录",然后又用第二个用户登录了这个网站,再点"退出"
抓包看到的结果是,第一次发送的POST请求中,http头部没有带COOKIE字段,服务器返回的内容中有COOKIE段,给了一个SESSIONID值,之后所有的数据包中都带有COOKIE字段,而且SESSIONID值不变
但是我确实是用两个不同的用户登录和退出了
是不是服务器端有类似于session("username")的值,当我第一次提交以后,置这个值为第一次我提交的用户,并且所有的操作都是关于这个用户的,点退出时把session("username")置为空,第二次登录时又把session("username")置为第二次的用户
也就是说,是通过SESSIONID和自己定义的一个什么值,合起来,作为判断一个用户登录的依据呢
因为我发现同一个浏览器里,在用第一个账户登录后,不点退出就再用第二个账户登录,以后的操作都会是第二个用户的,也就是说类似于我说的session("username")被我自己重置了
在用某个账户登录后,清除COOKIE后,用户也会退出,也就是SESSIONID清空了也等于退出
现在有一个让我很奇怪的问题,就是我用浏览器这样输入用户名和密码登录
点"退出"按钮退出
然后再登录
这个都是非常正常的
但是我用xmlhttp,循环地用不同用户发送登录的请求
xmlHttp.open "POST","http://domain/login.asp",False
xmlHttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
xmlHttp.send "username=" & useranme &"&pwd=" & p
conn.execute("delete from online where DateDiff("&SqlChar&"s"&SqlChar&",lasttime,"&SqlNowString&")>"&OnlineTime&" " ......