diff --git a/backend/server.js b/backend/server.js index 839e4351..5e977a40 100644 --- a/backend/server.js +++ b/backend/server.js @@ -194,13 +194,23 @@ function composeInlineStyles(payload) { return cssSegments.join('\n\n'); } +function escapeHtml(str) { + if (!str) return ''; + return String(str) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); +} + function renderBrandHeader(branding) { - const displayName = branding.companyName || 'PicPeak'; - const logoSrc = branding.logoUrl || '/picpeak-logo-transparent.png'; + const displayName = escapeHtml(branding.companyName || 'PicPeak'); + const logoSrc = encodeURI(branding.logoUrl || '/picpeak-logo-transparent.png'); const logo = ``; const tagline = branding.companyTagline - ? `

${branding.companyTagline}

` + ? `

${escapeHtml(branding.companyTagline)}

` : ''; return `