前言
老高写的TpCache插件配合Redis确实是非常好用,但是一直存在一个很大的问题。当文章被评论后,评论者的个人信息也会被自动缓存下来(原本是保存在访客的cookies中的),导致下一个访客会看到上一个评论者的信息,造成信息泄露。
但是老高一直建议大家使用第三方评论系统,所以也没有去修复这个Bug。本篇文章通过修改comments.php文件解决了这个问题。
教程
首先编辑/usr/themes/你的主题/component/comments.php
文件
分别找到这三个语句并全部替换为空值:
<?php $this->remember('author'); ?>
<?php $this->remember('mail'); ?>
<?php $this->remember('url'); ?>
找到下列语句;
<div id="author_info" class="hide">
并修改为:
<div id="author_info">
然后在文件底部插入一下代码:
<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 } ?>
</script>
保存即可。
7 条评论
用了老高的插件后速度是快了,但搜索失效了,不知道怎么搞
看来看去,还是决定裸奔吧,宝塔软件商店的堡塔网站加速插件怎么样,有没有测试过
测试一下?
这个插件一直不敢用 怕站点原地爆炸
被我乱改源码炸过一次了 还好有定时全站备份
typecho备份我感觉有点问题 我那天备份了个0kb 幸好没删数据库 不然我就跑路了
确实不靠谱 ,我用宝塔备份的