From 0de81c2b3f56f57121f6a9f911c599cef70eeeb2 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期二, 05 九月 2023 14:23:27 +0800 Subject: [PATCH] Update: 0901-P5 URL manipulation --- PAMapp/shared/services/httpClient.ts | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/PAMapp/shared/services/httpClient.ts b/PAMapp/shared/services/httpClient.ts index 82c83d8..db17491 100644 --- a/PAMapp/shared/services/httpClient.ts +++ b/PAMapp/shared/services/httpClient.ts @@ -16,14 +16,20 @@ const BASE_URL = process.env.BASE_URL!; function sanitizeBaseUrl(baseUrl: string): string { - const isValidBaseUrl = (url: string) => url.includes('api'); - if (isValidBaseUrl(baseUrl)) { - return baseUrl; - } else { + const pattern = /^(https?:\/\/).+/i; + if (!pattern.test(baseUrl)) { throw new Error('Invalid BASE_URL'); } + const cleanedBaseUrl = cleanUrl(baseUrl); + return cleanedBaseUrl; } +function cleanUrl(url: string): string { + const cleanedUrl = url.replace(/[^a-zA-Z0-9:/._-]/g, ''); + return cleanedUrl; +} + + export const http = axios.create({ baseURL: sanitizeBaseUrl(BASE_URL), withCredentials: true -- Gitblit v1.8.0