gojira.net
2021年04月26日 星期一 农历二零二一年三月十五日 [牛年] 阳历辛丑年壬辰月甲辰日 金牛座
又是一天不停的雨,最近略显烦躁,做事无从下手,总是在惆怅未来。
终于把博客缓存评论者的问题搞定了。
这个问题在去年就发现了,但一直没能解决,也百度过好多次,但都没找到解决方法。
昨天一不小心看到一篇文章讲的就是这个问题,但他的标题与缓存评论者信息毫不相干,后来又连续找到两篇,他们的标题都有问题,所以导致搜不到。
解决方法,其实我早就知道,只是代码方面不会写,一句代码难倒英雄汉啊。
解决方法其实很简单,原理上来说就是将页面内的个人信息的默认值删掉,然后利用javascript从cookies中获取用户信息自动填回到评论信息框里,开干!
typecho使用cdn缓存加速后泄露评论者个人信息的解决方法如下:
很简单只需两步即可搞定。
1:打开这个文件:/usr/themes/xxx/comments.php,如下3条代码删除:
<?php $this->remember('author'); ?>
<?php $this->remember('mail'); ?>
<?php $this->remember('url'); ?>
请将以上出现的删除,即将value值置空,例如原来的是:
<input class="ipt" type="text" name="author" id="author" value="<?php $this->remember('author'); ?>" tabindex="2" placeholder="昵称(必填)" required>
<input class="ipt" type="text" name="mail" id="mail" value="<?php $this->remember('mail'); ?>" tabindex="3" placeholder="邮箱(必填)" required>
<input class="ipt" type="text" name="url" id="url" value="<?php $this->remember('url'); ?>" tabindex="4" placeholder="网址">
修改后:
<input class="ipt" type="text" name="author" id="author" value="" tabindex="2" placeholder="昵称(必填)" required>
<input class="ipt" type="text" name="mail" id="mail" value="" tabindex="3" placeholder="邮箱(必填)" required>
<input class="ipt" type="text" name="url" id="url" value="" tabindex="4" placeholder="网址">
2:继续在该文件的最后添加如下这段javascript代码:
<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>
上面这段js代码功能就是从cookies中获取用户信息并自动填回到评论信息框里,这样就解决了缓存评论者个人信息的问题了。
该方法适用于解决typecho使用了各种cdn缓存加速后直接显示前一位评论者的个人信息的问题,例如使用了腾讯cdn缓存、阿里云cdn、cloudflare缓存所导致的问题,也适用于使用里静态化插件,例如使用了TpCache缓存插件,也适用与将静态页面缓存到硬盘、或缓存到Redis、Memcache等场景。
几天前放晴去河边散步,随手拍的这个花好像叫做黄菖蒲,与我认知中的菖蒲还是有比较打的差距的,没想到叶子这么嫩,以前以为是那种比较硬、比较锋利的叶子,之前听说菖蒲是挺水植物,想弄到过滤中。
2021.04.26今日股票亏盈情况
股票名 | 股数 | 今涨幅% | 今盈亏额 | 总涨幅% | 总盈亏金额 |
---|---|---|---|---|---|
中国石油 | 28000 | 0.00% | 0元 | -29.35% | -48496元 |
东旭蓝天 | 22000 | 0.00% | 0元 | -67.08% | -116974元 |
泰禾集团 | 26000 | 0.37% | 255元 | -59.71% | -102492元 |
双鹭药业 | 25000 | -2.30% | -5986元 | -19.44% | -61350元 |
嘉诚国际 | 5000 | 4.61% | 6744元 | -26.09% | -54005元 |
精锻科技 | 13000 | 0.17% | 250元 | -23.54% | -45292元 |
奥联电子 | 15000 | -4.26% | -8096元 | -5.42% | -10410元 |
东旭蓝天2 | 40000 | 0.00% | 0元 | 16.51% | 14800元 |
罗牛山 | 33000 | -0.59% | -1630元 | 3.97% | 10494元 |
三全食品 | 6000 | -1.84% | -2216元 | -32.86% | -57828元 |
江西铜业 | 6000 | 3.31% | 5148元 | -9.65% | -17154元 |
紫金矿业 | 12000 | 3.43% | 4437元 | -20.95% | -35448元 |
罗普特 | 4000 | -0.45% | -477元 | -37.09% | -62172元 |
恒逸石化 | 5000 | 1.42% | 944元 | 5.39% | 3450元 |
清仓盈亏: | -102931元 | 今盈亏: | -627元 | 总盈亏: | -685808元 |
上证指数:3441.17点,涨跌-33.00点,涨幅-0.95%
今日上涨股票 1569 支,涨停 63 支
今日下跌股票 2575 支,跌停 28 支
这几天用于测试的模拟炒股那边亏的挺厉害,还好不是真金白银,算是庆幸。
好在真实盘这边波动不是很大,可能因为前期跌的已经够多了吧。
你的站用了CDN的?怪不得之前评论名称老是显示上一个评论者的信息。
是的,现在显示的是你自己的个人信息吧?
现在正常了,哈哈~所以啊,还得向你们这些大佬学习才行。解决问题的能力超强,我最近也在想办法解决评论提交慢的问题,请教了杨哥和林兄都没能解决,一是他们的方法超出我的理解范围,二是最近头脑有点晕,可能是失眠的后遗症。
真是惭愧,我这个简单问题都几个月了才解决。
你的问题我看到你们评论里面的讨论了,比我的难。
愿你无忧无愁睡眠好。
原来大佬也是用的typecho,我以为是zblog ~~
是的,zblog好像更重一点,但没wp重。
这会应该可以了,我这里目前显示正常,评论一条看看。
Cookie没问题了,不过有另一个问题是,如果提示评论频繁,返回上一层页面的时候,不是在回复区,而是在评论区,但也不是大问题。
哈哈哈,不会搞,问题不大就随它吧。