解决PJBLOG3的登录BUG(不能保存COOKIE)(增加是否换IP保存登录)
估计很多PJER都注意到这个问题了,但一直未得到解决。看程序辛苦哈,舜子达人又很忙,常年不在线,BS一下。今天在和RISON的共同查找代码及逻辑推理等等一系列活动之下,终于解决了这个问题。RISON提到柯南了。。。。。
暂时的修改方法。下个版本让舜子达人来解决。
打开CACHE.ASP
找到: Response.Cookies(CookieName)("memRight") = StatusCode
在下面插入:
If DateDiff("d",Date(),Request.Cookies(CookieName)("exp"))>0 Then
Response.Cookies(CookieName).Expires = Date + DateDiff("d",Date(),Request.Cookies(CookieName)("exp"))
End If
打开CHECKUSER.ASP,找到 If Request.Form("KeepLogin") = "1" Then Response.Cookies(CookieName).Expires = Date+365
注意,有两处,全部替换成: If Request.Form("KeepLogin") = "1" Then
Response.Cookies(CookieName).Expires = Date+365
Response.Cookies(CookieName)("exp") = DateAdd("d", 365, date())
End If
找到:(更换IP后如果需要继续保存登录修改下面部分,否则跳过。)
If CheckCookie("mem_LastIP")<>Guest_IP Or IsNull(CheckCookie("mem_LastIP")) Then
logout(True)
Else
memName = CheckStr(Request.Cookies(CookieName)("memName"))
memStatus = CheckCookie("mem_Status")
End If
替换为:
' If CheckCookie("mem_LastIP")<>Guest_IP Or IsNull(CheckCookie("mem_LastIP")) Then
' logout(True)
' Else
memName = CheckStr(Request.Cookies(CookieName)("memName"))
memStatus = CheckCookie("mem_Status")
' End If
OK了。其原理就是在重新打开页面的时候cookies.expires被重写为空了。