行为:在进入博客的后台管理页面时候,要发送一个 get 请求给开发者的后端服务程序。
发现原因:
issue 里有人提到进入后台管理页面需要 30s 左右,我自己也发现进入后台管理页面很慢很慢,就去跟踪了下代码。
相关代码:
这里是自己部署的服务端处理来自/api/admin/meta 的请求的
https://github.com/Mereithhh/vanblog/blob/master/packages/server/src/controller/admin/meta/meta.controller.ts
这部分具体代码:
@ApiTags('meta')
@UseGuards(...AdminGuard)
@ApiToken
@Controller('/api/admin/meta')
export class MetaController {
constructor(private readonly metaProvider: MetaProvider) {}
@Get()
async getAllMeta(@Req() req: Request) {
const meta = await this.metaProvider.getAll();
const serverData = await getVersionFromServer();
const data = {
version: version,
latestVersion: serverData?.version || version,
updatedAt: serverData?.updatedAt || new Date(),
user: req.user,
baseUrl: meta.siteInfo.baseUrl,
enableComment: meta.siteInfo.enableComment || 'true',
allowDomains: process.env.VAN_BLOG_ALLOW_DOMAINS || '',
};
return {
statusCode: 200,
data,
};
}
}
其中有一条函数执行是 getVersionFromServer,这里就会发送请求了。 https://github.com/Mereithhh/vanblog/blob/master/packages/server/src/utils/getVersion.ts
import axios from 'axios';
export const getVersionFromServer = async () => {
try {
let { data } = await axios.get('https://api.mereith.com/vanblog/version');
data = data?.data || {};
if (!data?.version) {
return null;
}
return {
version: data.version,
updatedAt: data?.updatedAt || data?.upadtedAt,
};
} catch (err) {
return null;
}
};
其实也能理解开发者,可能后期要上收费主题啥的,要做验证。但是我个人已经把这个博客程序给卸载,vps 重装系统了。
1
renfei 2023-08-15 20:34:52 +08:00 1
我觉得,这些代码,只是为了去他那获取新的版本号,然后提醒有新版本更新
但是,完全可以异步请求,啥时候有回应了再弹提醒,不明白为啥要用阻塞的同步请求 |
2
cnleon 2023-08-15 20:36:07 +08:00 3
无法接受这种行为,而且这种动态的一般漏洞多和性能还不行。
|
5
idragonet 2023-08-15 20:48:34 +08:00 1
自建博客。
|
6
airyland 2023-08-15 20:48:36 +08:00 1
过度侵入了
|
7
kingfalse 2023-08-15 20:56:01 +08:00 via Android 1
WordPress 吧,这些乱七八糟的,就很恶心。
|
8
whileFalse 2023-08-15 21:46:25 +08:00 via Android
@kingfalse WordPress 不会检查新版本吗
|
9
cyp0633 2023-08-16 00:08:24 +08:00
要是就这么点遥测的话个人觉得没关系,但会小心之后的改动
|
10
1423 2023-08-16 00:10:49 +08:00
既然是开源的那就自己改了嘛, 开源代码都是 AS IS 提供. 有啥接不接受
|
11
msg7086 2023-08-16 03:55:33 +08:00
> 就怕哪天哪个版本升级,就开始塞奇怪的东西了
任何一个软件都是这样的。 |