根据客户要求使用dedecms v5.6版本,发现了一个会员登录的bug!看来dedecms也不过如此!
首先说说bug所在:在会员登录页面 /member/index.php 登录的时候 有效期如果选择‘即时’,那么就永远也登不上去了!

原因简单的查找了一下:
看到了吧,当$kptime=0 的时候,过期时间为time()+0,也就是立即过期!既然过期了,你肯定登不上去了是吧哈哈!
修改为如下:
首先判断一下$kptime是不是为0.
如果想让会员关闭浏览器之后就相当于退出,那么只需要不设置过期时间就行了。这样就行了!
对于想要关闭浏览器,自动清除cookie,那么cookie过期时间就不要设置。
本文揭示了DEDECMS v5.6版本中会员登录存在的Bug,并提供了详细的解决方案。Bug表现为选择“即时”有效期后无法登录,原因是设置的cookie立即过期。文中给出了修改后的代码实现。
490

被折叠的 条评论
为什么被折叠?



