From 0a258d859956d2528b816d9be98eaa184250fd67 Mon Sep 17 00:00:00 2001 From: cmliu Date: Wed, 31 Dec 2025 18:57:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=BC=BABase64=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E5=87=BD=E6=95=B0=EF=BC=8C=E6=B7=BB=E5=8A=A0=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=A3=80=E6=9F=A5=E5=92=8C=E8=A7=A3=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _worker.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/_worker.js b/_worker.js index 0711a74..fc21893 100644 --- a/_worker.js +++ b/_worker.js @@ -1062,9 +1062,17 @@ async function 整理成数组(内容) { } function isValidBase64(str) { + if (typeof str !== 'string') return false; const cleanStr = str.replace(/\s/g, ''); - const base64Regex = /^[A-Za-z0-9+/=]+$/; - return base64Regex.test(cleanStr); + if (cleanStr.length === 0 || cleanStr.length % 4 !== 0) return false; + const base64Regex = /^[A-Za-z0-9+/]+={0,2}$/; + if (!base64Regex.test(cleanStr)) return false; + try { + atob(cleanStr); + return true; + } catch { + return false; + } } function base64Decode(str) {