Condividi tramite


Introduzione con Web Forms ASP.NET

Modello Web Forms e come creare pagine e usare i controlli.

Perché le risorse esterne nella pagina vengono bloccate in Anteprima live Web?

Se si dispone di risorse esterne da un dominio di terze parti nella pagina, è possibile notare che la finestra di progettazione in Web Live Preview ha impedito il caricamento e mostra questo avviso popup:

Avviso popup risorse bloccate

Si potrebbe chiedersi perché le risorse sono state bloccate dal caricamento nella finestra di progettazione e perché viene visualizzato l'avviso popup. Questo articolo illustra perché le risorse sono state bloccate.

Web Live Preview (WLP) è un'estensione di Visual Studio basata su BrowserLink. WLP usa BrowserLink per fornire un canale per la comunicazione bidirezionale tra Visual Studio e la finestra di progettazione. Questa comunicazione bidirezionale consente a WLP di fornire molte funzionalità:

  • Sincronizzare il contenuto e il nodo attualmente selezionato nella finestra di progettazione con quello dell'editor.
  • Push di nuovi contenuti creati dalla finestra di progettazione nell'editor.
  • Esecuzione di comandi del pannello di azione.

Se si inseriscono script o risorse da una terza parte nella pagina Web, ciò potrebbe esporre a una potenziale vulnerabilità di sicurezza usando WLP e BrowserLink per eseguire un attacco XSS (Cross-Site Scripting).

Se una risorsa di terze parti può inserire codice dannoso nel sito, il codice potrebbe usare lo script collegamento browser inserito nella finestra di progettazione per eseguire le chiamate a Visual Studio. Lo script inserito potrebbe consentire al codice di scrivere contenuto arbitrario nei file aperti in Visual Studio o aprire altri vettori di attacco.

Attualmente non è possibile impedire agli utenti malintenzionati di comunicare tramite lo script BrowserLink a Visual Studio.

Mitigazione della vulnerabilità di sicurezza

Il più possibile, abbiamo limitato e ridotto le vulnerabilità di sicurezza dalla comunicazione tramite lo script BrowserLink di nuovo a Visual Studio. Tuttavia, alcuni attacchi possono comunque essere resi possibili tramite un attacco XSS.

Per ridurre la possibilità di un attacco XSS, per impostazione predefinita, WLP blocca il caricamento di tutte le risorse esterne. Se una risorsa esterna è bloccata, WLP mostra l'avviso popup seguente nell'angolo in alto a destra della finestra di progettazione:

Avviso popup risorse bloccate

In questo esempio viene usato il codice SVG seguente, che è una risorsa esterna usata in un'app Web di esempio: https://visualstudio.microsoft.com/wp-content/uploads/2021/10/Product-Icon.svg)

Se viene aperta la finestra Microsoft Edge DevTools , è anche possibile notare il messaggio seguente che spiega perché non è stata caricata una risorsa esterna:

Messaggio devTools delle risorse bloccate

Nell'avviso popup della finestra di progettazione, se si seleziona il collegamento fare clic qui, viene visualizzata la finestra di dialogo seguente, con i domini delle risorse bloccate aggiunte automaticamente all'elenco della finestra di dialogo:

Consenti domini

Le risorse provenienti da domini esterni archiviati nell'elenco della finestra di dialogo non verranno bloccate per impostazione predefinita in WLP e caricate come di consueto. Dopo aver fatto clic su OK, la finestra di progettazione ricarica la pagina e carica tutte le risorse bloccate in precedenza i cui domini sono stati aggiunti alla finestra di dialogo. Assicurarsi di consentire solo domini esterni verificati di essere attendibili e sicuri.

Facendo clic sul collegamento Web Live Preview - Domini esterni nell'avviso popup viene visualizzata la stessa finestra di dialogo, ma non aggiungerà alcun dominio delle risorse bloccate nella finestra di dialogo:

Consenti domini senza aggiungere

È anche possibile accedere alla finestra di dialogo tramite l'impostazione Tools -> Options -> Web Live Preview -> Allowed external domains during design . Le impostazioni della finestra di dialogo sono per ogni istanza installata di Visual Studio.

Opzioni strumenti bloccate

Avviso

Consentire ai domini di non essere bloccati per impostazione predefinita potrebbe esporre l'utente all'attacco XSS indicato in precedenza. Di nuovo, è consigliabile consentire solo domini esterni che è possibile verificare come attendibili e sicuri.