From abe00725e44cc6505cda321a74a9c6413a3725cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 8 Jan 2023 00:25:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=B9=E6=80=A7=EF=BC=88=E7=BD=91=E7=AB=99?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=89=EF=BC=9A=E4=BF=AE=E5=A4=8D=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E5=88=A0=E9=99=A4=E6=8A=A5=E9=94=99=E7=9A=84Bug?= =?UTF-8?q?=E5=8F=8A=E8=A7=84=E8=8C=83=E7=BD=91=E7=AB=99=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/WebsitesController.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/WebsitesController.php b/app/Http/Controllers/Api/WebsitesController.php index dfa621af..6cd2b28c 100644 --- a/app/Http/Controllers/Api/WebsitesController.php +++ b/app/Http/Controllers/Api/WebsitesController.php @@ -60,7 +60,7 @@ class WebsitesController extends Controller // 消毒数据 try { $credentials = $this->validate($request, [ - 'name' => 'required|max:255', + 'name' => ['required', 'regex:/^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*$/'], 'domain' => 'required', 'path' => 'string|nullable|max:255', 'php' => 'required', @@ -310,10 +310,19 @@ EOF; public function delete(Request $request): JsonResponse { $name = $request->input('name'); + // 判断是否存在 + if (Website::query()->where('name', $name)->doesntExist()) { + $res['code'] = 1; + $res['msg'] = '网站不存在'; + return response()->json($res); + } // 从数据库删除 Website::query()->where('name', $name)->delete(); // 删除站点目录 - rmdir("/www/wwwroot/$name"); + $rm = @shell_exec("rm -rf ".escapeshellarg("/www/wwwroot/$name")." 2>&1"); + if (!empty($rm)) { + return response()->json(['code' => 1, 'msg' => '网站目录删除失败:'.$rm]); + } // 删除nginx配置 unlink("/www/server/vhost/$name.conf"); // 删除rewrite配置