L'escape dei template è la pratica di sostituire i caratteri speciali nei dati controllati dall'utente in modo che un motore di template li renda come semplice testo invece di interpretarli come codice o markup. Ad esempio, caratteri come <, >, " e ' vengono codificati prima dell'output, impedendo al browser o al renderer di trattare l'input come HTML, JavaScript o un altro formato eseguibile.
È importante perché molte applicazioni web mescolano una struttura di pagina attendibile con contenuti non attendibili come post, nomi utente, commenti o campi del profilo. Se l'escape manca o viene applicato nel contesto sbagliato, gli aggressori possono inserire payload di cross-site scripting, alterare il comportamento della pagina, rubare sessioni o attivare azioni nel browser della vittima. I difensori usano escape consapevole del contesto, codifica dell'output e helper sicuri per i template, oltre a test che verificano che l'input non attendibile venga sempre reso inoffensivo.


