XSS: Cross-Site Scripting prevenzione

XSS: Cross-Site Scripting prevenzione

Gli attacchi XSS iniettano script malevoli nelle pagine web.

Codice vulnerabile

// PERICOLOSO!
echo "Ciao " . $_GET["nome"];
// URL: ?nome=

Prevenzione: htmlspecialchars

// Converte caratteri speciali in entità HTML
echo "Ciao " . htmlspecialchars($_GET["nome"], ENT_QUOTES, "UTF-8");

Funzione helper

function e($string) {
 return htmlspecialchars($string, ENT_QUOTES, "UTF-8");
}

echo "Ciao " . e($_GET["nome"]);

Content Security Policy

header("Content-Security-Policy: default-src 'self'");

Regole

  • Sempre escape output utente
  • Usa template engine con auto-escape
  • Valida e sanitizza input

Hai trovato utile quest'articolo?

  • Introduzione a PHP

    Introduzione a PHP PHP (PHP: Hypertext Preprocessor) è un linguaggio di scripting server-side usato ...
  • Variabili PHP

    Variabili PHP Le variabili in PHP iniziano sempre con il simbolo dollaro $.Dichiarazione$nome = "Mar...
  • Stringhe in PHP

    Stringhe in PHP Le stringhe sono sequenze di caratteri racchiuse tra virgolette.Virgolette singole v...
  • Array in PHP

    Array in PHP Gli array permettono di memorizzare più valori in una singola variabile.Array indicizza...
  • Operatori PHP

    Operatori PHP Gli operatori PHP permettono di eseguire operazioni su variabili e valori.Operatori ar...