diff --git a/app/(dashboard)/projects/[projectId]/videos/[videoId]/compare/page.tsx b/app/(dashboard)/projects/[projectId]/videos/[videoId]/compare/page.tsx index 75ab95e..717022b 100644 --- a/app/(dashboard)/projects/[projectId]/videos/[videoId]/compare/page.tsx +++ b/app/(dashboard)/projects/[projectId]/videos/[videoId]/compare/page.tsx @@ -89,6 +89,15 @@ function formatTime(seconds: number): string { return `${mins}:${secs.toString().padStart(2, '0')}`; } +const isSafeUrl = (url: string) => { + try { + const parsed = new URL(url); + return parsed.protocol === 'http:' || parsed.protocol === 'https:'; + } catch { + return false; + } +}; + export default function CompareVersionsPage() { const params = useParams(); const searchParams = useSearchParams(); @@ -573,14 +582,14 @@ export default function CompareVersionsPage() { onRegister={registerPlayer} onUnregister={unregisterPlayer} /> - ) : ( + ) : isSafeUrl(version.originalUrl) ? (