Testo all’interno di HTML
Fa parte della sezione Fondamenti di Express del percorso Node.js di Coddy. Lezione 9 di 23.
Un visitatore può digitare caratteri che HTML interpreta come markup. Se un titolo contiene <b>, inserirlo direttamente in una pagina crea un tag. L’escape trasforma questi caratteri in testo visualizzato dal browser.
escapeHtml('<b>Lunch</b>');
// <b>Lunch</b>La funzione ausiliaria trasforma & in &, che il browser visualizza come una e commerciale. Le virgolette doppie diventano "; gli apostrofi restano invariati. Esegui l’escape di ogni valore di testo inserito, chiunque l’abbia scritto, prima di racchiuderlo nel tuo HTML. Eseguire l’escape dell’intera pagina farebbe visualizzare come testo anche i tag dei titoli. Non devi scrivere tu la funzione ausiliaria; la decisione importante è dove usarla.
In un URL, scrivi uno spazio come %20, una e commerciale come %26 e le parentesi angolari come %3C e %3E. Queste codifiche mantengono il testo del titolo separato dalla sintassi della query.
Sfida
FacileModifica exercise.js. Usa l'helper fornito sul titolo prima di inserirlo nei tuoi tag di intestazione. Restituisci l'intestazione completata in html.
Prova a eseguire: GET /result?title=Fish%20%26%20Chips restituisce {"html":"<h1>Fish & Chips</h1>"}. Prova /result?title=%3Cb%3ELunch%3C%2Fb%3E: il titolo inserito deve essere testo, mentre la tua intestazione deve rimanere markup.
Provalo tu
import { escapeHtml } from './html.js';
export function exercise({ title }) {
return { html: `<h1>${title}</h1>` };
}
Tutte le lezioni di Fondamenti di Express
2Risposte
Risposte JSONEsercitati da solo: Playground Express