diff --git a/docs.html b/docs.html index 25639930e..a725a7268 100644 --- a/docs.html +++ b/docs.html @@ -307,6 +307,17 @@

On this page

return text.toLowerCase().replace(/[^\w]+/g, '-').replace(/^-|-$/g, ''); } + // Basic HTML escaping to prevent XSS when inserting untrusted values + function escapeHtml(str) { + return String(str) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') + .replace(/\//g, '/'); + } + // Simple markdown to HTML parser with anchor generation function parseMarkdown(md) { let html = md; @@ -389,10 +400,11 @@

On this page

// Fetch and display documentation async function loadDoc(filename) { + const safeFilename = escapeHtml(filename); docsContent.innerHTML = `
-

Loading ${filename}...

+

Loading ${safeFilename}...

`; @@ -417,9 +429,9 @@

On this page

console.error('Error loading doc:', error); docsContent.innerHTML = `

Error Loading Documentation

-

Failed to load ${filename}. Please try again later.

+

Failed to load ${safeFilename}. Please try again later.

- + View on GitHub