解決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后如果需要繼續(xù)保存登錄修改下面部分,否則跳過。)
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被重寫為空了。