前言

目前typecho的设计是手机上登录了电脑上就会下线,电脑上登录了手机上又会下线,非常的不方便,于是笔者通过查看其源代码找到以下方法来解决该问题,达到多端同时登录的目的。

操作方法及过程

我们知道一般网站都是通过cookie来记住登录状态的,所以只要找到设置cookie的地方修改就可以了。首先在typecho的var目录下运行如下命令:

grep -r "Cookie::set" *

然后我们就可以看到cookie是在 Widget/User.php 这个文件里进行设置的:

2024-08-20T09:03:50.png

编辑该文件对应设置Cookie的地方,即复制粘贴如下代码到指定位置(如图所示),然后保存即可。

// 不用随机盐作为验证,这样可以多端登录
$authCode = substr($user['password'], -12);

2024-08-20T09:06:12.png

这里其实就是把原来的随机验证码给替换成用户密码的子串(一个固定值),这样不同地方登录产生的验证码都是一样的,从而实现多端登录验证cookie都能通过。笔者使用的是typecho1.2.1稳定版,其他版本原理差不多,找到对应位置修改即可,如有其他疑问,欢迎评论区留言。

最后修改:2024 年 08 月 21 日
如果觉得我的文章对你有用,请随意赞赏