From d22c351221522ed095d02636ac0f7f5aa1286524 Mon Sep 17 00:00:00 2001 From: Joel Date: Wed, 4 Jun 2025 15:56:29 +0800 Subject: [PATCH] chore: fix some security issues in markdown (#20639) --- .../components/base/markdown-blocks/button.tsx | 16 ++++------------ web/app/components/base/markdown-blocks/link.tsx | 7 ++++++- web/app/components/base/markdown-blocks/utils.ts | 3 +++ 3 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 web/app/components/base/markdown-blocks/utils.ts diff --git a/web/app/components/base/markdown-blocks/button.tsx b/web/app/components/base/markdown-blocks/button.tsx index 81a3f30660..4646b12921 100644 --- a/web/app/components/base/markdown-blocks/button.tsx +++ b/web/app/components/base/markdown-blocks/button.tsx @@ -1,7 +1,7 @@ import { useChatContext } from '@/app/components/base/chat/chat/context' import Button from '@/app/components/base/button' import cn from '@/utils/classnames' - +import { isValidUrl } from './utils' const MarkdownButton = ({ node }: any) => { const { onSend } = useChatContext() const variant = node.properties.dataVariant @@ -9,25 +9,17 @@ const MarkdownButton = ({ node }: any) => { const link = node.properties.dataLink const size = node.properties.dataSize - function is_valid_url(url: string): boolean { - try { - const parsed_url = new URL(url) - return ['http:', 'https:'].includes(parsed_url.protocol) - } - catch { - return false - } - } - return