From 10da6a92d1c52513147bde5e38c3221d55e29134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=8C=E8=90=8C=E5=93=92=E8=B5=AB=E8=90=9D?= Date: Mon, 21 Aug 2023 07:37:51 -0700 Subject: [PATCH] :construction: WIP: add doge cloud support --- package.json | 1 + src/main/manage/apis/sftp.ts | 3 +++ yarn.lock | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/package.json b/package.json index 16c4bd6..5663c75 100644 --- a/package.json +++ b/package.json @@ -73,6 +73,7 @@ "pinia-plugin-persistedstate": "^3.1.0", "qiniu": "^7.9.0", "qrcode.vue": "^3.4.0", + "querystring": "^0.2.1", "shell-path": "2.1.0", "upyun": "^3.4.6", "uuid": "^9.0.0", diff --git a/src/main/manage/apis/sftp.ts b/src/main/manage/apis/sftp.ts index 5b8c0fd..9968eb8 100644 --- a/src/main/manage/apis/sftp.ts +++ b/src/main/manage/apis/sftp.ts @@ -325,6 +325,9 @@ class SftpApi { let result = false try { await this.connectClient() + if (key.replace(/^\/+/, '') === '' || key.includes('*')) { + throw new Error('禁止删除') + } const res = await this.ctx.execCommand(`rm -rf "/${key.replace(/^\/+/, '')}"`) this.ctx.close() result = this.isRequestSuccess(res.code) diff --git a/yarn.lock b/yarn.lock index 51ec398..1f651d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11601,6 +11601,11 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +querystring@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + querystringify@^2.1.1: version "2.2.0" resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"