Partager via


Prise en main avec ASP.NET Web Forms

Le modèle Web Forms et comment créer des pages et utiliser des contrôles.

Pourquoi les ressources externes de ma page sont-elles bloquées dans Web Live Preview ?

Si vous avez des ressources externes d’un domaine tiers qui se trouvent dans votre page, vous remarquerez peut-être que le concepteur dans Web Live Preview les a empêchés de se charger et affiche ce toast :

Toast des ressources bloquées

Vous vous demandez peut-être pourquoi le chargement des ressources a été bloqué dans le concepteur et pourquoi le toast s’affiche. Cet article explique pourquoi les ressources ont été bloquées.

Web Live Preview (WLP) est une extension Visual Studio basée sur BrowserLink. WLP utilise BrowserLink pour fournir un canal de communication bidirectionnelle entre Visual Studio et le concepteur. Cette communication bidirectionnelle permet à WLP de fournir de nombreuses fonctionnalités :

  • Synchronisation du contenu et du nœud actuellement sélectionné dans le concepteur avec celui de l’éditeur.
  • Envoi (push) du contenu créé à partir du concepteur dans l’éditeur.
  • Exécution de commandes du panneau d’actions.

Si vous injectez des scripts ou des ressources d’un tiers dans votre page web, cela peut vous exposer à une vulnérabilité de sécurité potentielle en utilisant WLP et BrowserLink pour effectuer une attaque XSS (Cross-Site Scripting).

Si une ressource tierce peut injecter du code malveillant dans le site, le code peut utiliser le script Browser Link injecté dans le concepteur pour effectuer des appels vers Visual Studio. Le script injecté peut permettre au code d’écrire du contenu arbitraire dans des fichiers ouverts dans Visual Studio ou d’ouvrir d’autres vecteurs d’attaque.

Actuellement, il n’existe aucun bon moyen d’empêcher les attaquants de communiquer à Visual Studio via le script BrowserLink.

Atténuation des vulnérabilités de sécurité

Dans la mesure du possible, nous avons limité et atténué les failles de sécurité de la communication via le script BrowserLink vers Visual Studio. Toutefois, certaines attaques peuvent toujours être rendues possibles par le biais d’une attaque XSS.

Pour réduire la possibilité d’une telle attaque XSS, par défaut, WLP bloque le chargement de toutes les ressources externes. Si une ressource externe est bloquée, WLP affiche les toasts suivants dans le coin supérieur droit du concepteur :

Toast des ressources bloquées

(Dans cet exemple, nous utilisons le SVG suivant, qui est une ressource externe utilisée dans un exemple d’application web : https://visualstudio.microsoft.com/wp-content/uploads/2021/10/Product-Icon.svg)

Si la fenêtre Microsoft Edge DevTools est ouverte, vous pouvez également remarquer le message suivant expliquant pourquoi le chargement d’une ressource externe a échoué :

Message de ressources bloquées DevTools

Dans le toast du concepteur, si vous sélectionnez le lien cliquer ici , la boîte de dialogue suivante s’affiche, avec les domaines des ressources bloquées automatiquement ajoutés à la liste du dialogue :

Autoriser les domaines

Les ressources provenant de domaines externes stockés dans la liste de la boîte de dialogue ne sont pas bloquées par défaut dans WLP et se chargent comme d’habitude. Après avoir cliqué sur OK, le concepteur recharge la page et charge toutes les ressources précédemment bloquées dont les domaines ont été ajoutés à la boîte de dialogue. Veillez à autoriser uniquement les domaines externes dont vous avez vérifié qu’ils sont fiables et sécurisés.

Cliquer sur le lien Web Live Preview - domaines externes dans le toast affiche la même boîte de dialogue, mais n’ajoute aucun des domaines des ressources bloquées dans la boîte de dialogue :

Autoriser les domaines sans ajouter

Vous pouvez également accéder à la boîte de dialogue via le Tools -> Options -> Web Live Preview -> Allowed external domains during design paramètre . Les paramètres de boîte de dialogue sont définis par instance installées de Visual Studio.

Options d’outils Ressources bloquées

Avertissement

Autoriser les domaines à ne pas être bloqués par défaut peut vous exposer à l’attaque XSS mentionnée ci-dessus. Là encore, nous vous recommandons vivement d’autoriser uniquement les domaines externes que vous pouvez vérifier comme fiables et sécurisés.