Nello script #250 abbiamo visto come prendere un url e metterlo in binding. In quel caso abbiamo preso l'url e lo abbiamo trasformato in un oggetto che Angular può mettere in binding senza però fare alcun controllo sui dati contenuti nell'URL. Se quell'URL proviene dall'input di un utente o da un'altra fonte non controllata, siamo passibili di un attacco di injection dove l'utente può iniettare codice malevolo nella nostra applicazione.
Per evitare questi problemi, possiamo usare il metodo sanitize della classe DomSanitizer che encoda la stringa in modo da eliminare ogni possibile attacco di injection. Questo metodo accetta il tipo di controllo da effettuare (detto contesto) e il valore da controllare come si vede nel prossimo codice.
const s = this.sanitizer.sanitize(SecurityContext.URL, valueToCheck);
In questo caso, la variabile valueToCheck contiene l'url da verificare e il contesto specificaappunto che il tipo di controllo da effettuare è quello su un url. Il contesto è un enum di tipo SecurityContext che contiene i valori URL, SCRIPT, STYLE, HTML, RESOURCE_URL.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evidenziare una porzione di testo in un pagina dopo una navigazione
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Abilitare .NET 10 su Azure App Service e Azure Functions
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
Controllare la telemetria con .NET Aspire
Esporre un server MCP con Azure API Management
Ridurre il reflow ottimizzando il CSS
Usare i generics di C# con la clausola nameof in modo semplificato
Controllare la velocità di spostamento su una pagina HTML
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Utilizzare noopener e noreferrer nei link HTML
Importare un servizio esterno in .NET Aspire




