Condividi tramite


Introduzione ai Web Form di ASP.NET

Modello Web Form e come creare pagine e utilizzare i controlli.

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

Se nella tua pagina sono presenti risorse esterne da un dominio di terze parti, è possibile notare che il designer in Web Live Preview ha impedito il loro caricamento e mostra questa notifica.

Notifica risorse bloccate

Potresti chiederti perché le risorse sono state bloccate dal caricamento nel designer e perché viene mostrato il toast. Questo articolo spiega 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à:

  • Sincronizzazione del contenuto e del nodo attualmente selezionato nella finestra di progettazione con quello dell'editor.
  • Spingere il nuovo contenuto creato dal designer nell'editor.
  • Esecuzione di comandi del Pannello azioni.

Se si inseriscono script o risorse di terze parti nella pagina Web, questo potrebbe esporre l'utente 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 Browser Link inserito nel designer per fare 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 mitigato le vulnerabilità di sicurezza dalla comunicazione tramite lo script BrowserLink 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 impedisce il caricamento di tutte le risorse esterne. Se una risorsa esterna è bloccata, WLP mostra l'avviso popup seguente nell'angolo superiore destro della finestra di progettazione:

Notifica 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 è stato possibile caricare una risorsa esterna:

Messaggio risorse bloccate DevTools

Nella notifica del progettista, se si seleziona il collegamento fare clic qui, viene visualizzata la seguente finestra di dialogo, con i domini delle risorse bloccate automaticamente aggiunti 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. Assicurati di consentire solo domini esterni che hai verificato essere attendibili e sicuri.

Facendo clic sul collegamento Web Live Preview - Domini esterni nella notifica, viene visualizzata la stessa finestra di dialogo iniziale, ma i domini delle risorse bloccate non verranno aggiunti nella finestra di dialogo.

Consenti domini senza aggiunta

È 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 risorse bloccate

Avviso

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