Sobes.tech
Senior

Quali caratteri devono essere escapati per proteggersi dagli attacchi XSS?

sobes.tech AI

Risposta dell'AI

Per proteggersi dagli attacchi XSS, è necessario eseguire l'escape dei caratteri speciali che possono essere interpretati dal browser come HTML o JavaScript. I principali caratteri da escapare:

  • & (e commerciale) → &
  • < (minore di) → &lt;
  • > (maggiore di) → &gt;
  • " (doppie virgolette) → &quot;
  • ' (apostrofo) → &#39;

L'escape di questi caratteri previene l'iniezione di codice dannoso in HTML o attributi.

Esempio in JavaScript:

function escapeHTML(str) {
  return str.replace(/&/g, '&amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/"/g, '&quot;')
            .replace(/'/g, '&#39;');
}

const userInput = '<script>alert("XSS")</script>';
const safeString = escapeHTML(userInput);
console.log(safeString); // &lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;

È inoltre importante usare Content Security Policy (CSP) ed evitare di inserire HTML non verificato.