typecho
typecho是一款优秀的轻量博客程序,本站使用typecho运行五年多。
问题描述
1.登录typecho后台,显示用户名或密码错误,可是用户名和密码是浏览器保存的,不会错,之前也都用这个密码。
2.无法评论
无法登录后台
1.先试一下网上广为流行的解决办法
- 进入typecho数据库
- 找到数据表
typecho_users
- 找到
password
字段 - 修改为
e10adc3949ba59abbe56e057f20f883e
- 登录网站后台,密码为123456
如果登录成功,那就OK,可以在后台修改密码。 如果不成功,那就是其他原因,请看下面的内容。
2.修改CDN配置
有的网站配置了CDN,可能是CDN配置有问题,登录操作是要与数据库有交互的,密码正确却无法登录,说明是没有访问数据库或者访问数据库出错了。
以又拍云CDN为例
- 进入CDN控制台
- 更改缓存规则,添加后台全部文件不缓存,全站PHP文件不缓存。 详情请参考:又拍云CDN的正确打开方式CDN可以加速网站访问,也能起到隐藏源站IP的作用,好处自然是很多的。但是,如何才能正确的使用CDN呢
- 修改参数跟随为回源跟随。
好了,这样就能正常登陆了。
其他CDN,比如腾讯CDN,没有不缓存规则的添加,那就将PHP等动态资源的缓存时间修改为0即可。
无法评论
情况与密码正确却无法登陆一致,请参考上面的解决办法 注意:请不要将参数跟随修改为全程跟随,详情请看文末的情况分析
情况分析
- 登陆或者评论,你的登陆信息或评论信息是在表单里面传递给数据库的。
- CDN缓存策略配置错误,就会缓存PHP等动态文件,导致无法登陆或者无法评论,因为表单信息就没传递过去。
- 如果已经添加了CDN不缓存PHP等动态文件的规则,那么就是参数被忽略了。
- CDN会忽略
?
等PHP文件里面的传递的参数,这样可以提高缓存命中率,提高速度。 - 但是这样就会导致你的登陆密码,或者评论信息被CDN给忽略了,没有传递到源站,传递到数据库。
- 参数跟随里面的全程跟随,顾名思义,就是你传递的参数,一直都在。
- 全程跟随之后,网站退出登录会显示没有退出,但是实际上已经退出,需要手动刷新页面才行。
- 全程跟随还有一个问题,在后台删除评论时,连续删除就会出现页面崩溃,重定向次数过多的错误。
后记
2021年4月23日本站迁移之后,更换了阿里云CDN,发现阿里云默认的缓存策略比又拍云好很多,没有出现上述问题,整体体验优于又拍云