解决PJBLOG3的登录BUG(不能保存COOKIE)(9/27增加是否换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被重写为空了。

[本日志由 小戒 于 2008-09-27 11:30 AM 编辑]
上一篇: 太神奇的FLASH读心术,屡试屡中。
下一篇: AJAX登录并增加选择COOKIES保存时限功能(9/27增加是否换IP保存登录)
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Pjblog3 登录 BUG
相关日志:
评论: 1 | 引用: 0 | 查看次数: -
fantasyjj
回复回复fantasyjj[2008-10-18 00:30 AM | | | del]
啊。我汗,你都不写清楚。。。
像我这样不是很了解的人根本不知道啊,5555

原来在COMMON下。。。。
回复来自 小戒 的评论 小戒 于 2008-10-18 11:03 AM 回复
呵呵,找不到就用搜索。
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 支持Gravatar头像.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.