一、TpCache问题描述

大神老高的TpCache插件应该是typecho最好用的缓存插件之一了。但是最新0.7版本有个问题,即每位评论者都会把自己的用户名、邮箱、地址的评论表单信息跟随网站,下一个访问者会依然看到这位新的评论者的用户名、邮箱、地址的评论表单信息。
也就是说,访客A在本站评论后,访客B的留言表单信息会自动填充访客A的信息。

二、解决方法

修改主题目录下的comments.php文件。
1.分别找出下面三个代码,并删除。
<?php $this->remember('author'); ?>
<?php $this->remember('mail'); ?>
<?php $this->remember('url'); ?>
2.继续查找</script>,并在其前添加以下代码:

<?php if(!$this->user->hasLogin()){ ?>
function getCookie(name){
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg))
        return unescape(decodeURI(arr[2]));
    else
        return null;
    }
function adduser(){
    document.getElementById('author').value = getCookie('<?php echo md5($this->request->getUrlPrefix()); ?>__typecho_remember_author');
    document.getElementById('mail').value = getCookie('<?php echo md5($this->request->getUrlPrefix()); ?>__typecho_remember_mail');
    document.getElementById('url').value = getCookie('<?php echo md5($this->request->getUrlPrefix()); ?>__typecho_remember_url');
}
adduser();
<?php } ?>

三、大功告成

此时,你再试试文章评论功能,是不是没有之前的bug了?!如有疑问,请在下方留言。

文章目录