fix: error when invalid iframe in markdown (#5985)

This commit is contained in:
Prospector
2026-05-04 02:47:15 -07:00
committed by GitHub
parent 7d6f77bebf
commit 565ac2cb53

View File

@@ -49,23 +49,25 @@ export const configuredXss = new FilterXSS({
}, },
] ]
const url = new URL(value) try {
const url = new URL(value)
for (const source of allowedSources) { for (const source of allowedSources) {
if (!source.url.test(url.href)) { if (!source.url.test(url.href)) {
continue continue
}
const newSearchParams = new URLSearchParams(url.searchParams)
url.searchParams.forEach((value, key) => {
if (!source.allowedParameters.some((param) => param.test(`${key}=${value}`))) {
newSearchParams.delete(key)
} }
})
url.search = newSearchParams.toString() const newSearchParams = new URLSearchParams(url.searchParams)
return `${name}="${escapeAttrValue(url.toString())}"` url.searchParams.forEach((value, key) => {
} if (!source.allowedParameters.some((param) => param.test(`${key}=${value}`))) {
newSearchParams.delete(key)
}
})
url.search = newSearchParams.toString()
return `${name}="${escapeAttrValue(url.toString())}"`
}
} catch {}
} }
// For Highlight.JS // For Highlight.JS