diff --git a/src/Components/BehaviorsModal/Internal/Widgets/LinkWidget/LinkWidget.tsx b/src/Components/BehaviorsModal/Internal/Widgets/LinkWidget/LinkWidget.tsx index e3fc00983..33301cc9c 100644 --- a/src/Components/BehaviorsModal/Internal/Widgets/LinkWidget/LinkWidget.tsx +++ b/src/Components/BehaviorsModal/Internal/Widgets/LinkWidget/LinkWidget.tsx @@ -26,6 +26,16 @@ export const LinkWidget: React.FC = ({ widget }) => { wrapTextInTemplateString(linkExpression), twins ); + + const isSafeUrl = (url: string): boolean => { + try { + const parsed = new URL(url); + return ['http:', 'https:'].includes(parsed.protocol); + } catch { + return false; + } + }; + const styles = getStyles(); return (
@@ -33,7 +43,11 @@ export const LinkWidget: React.FC = ({ widget }) => { {label} window.open(link, '_blank')} + onClick={() => { + if (isSafeUrl(link)) { + window.open(link, '_blank'); + } + }} className={styles.linkButton} title={link} >