Prise en main de ASP.NET Web Forms

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 la préversion web en direct ?

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 charger et affiche ce toast :

Toast des ressources bloquées

Vous vous demandez peut-être pourquoi les ressources ont été bloquées de charger 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 pour la communication bidirectionnelle entre Visual Studio et le concepteur. Cette communication bidirectionnelle permet à WLP de fournir de nombreuses fonctionnalités :

  • Synchronisation des contenus et du nœud actuellement sélectionnés dans le concepteur avec ceux de l’éditeur.
  • Envoi de nouveau contenu créé par le designer dans l'éditeur.
  • Exécution de commandes du panneau d’action.

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 à 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 via le script BrowserLink vers Visual Studio.

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

Autant que possible, nous avons limité et atténué les vulnérabilités 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 la notification suivante dans l'angle supérieur droit de l'interface de conception :

Toast des ressources bloquées

(Dans cet exemple, nous utilisons le fichier 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 remarquerez peut-être également le message suivant expliquant pourquoi une ressource externe n’a pas pu être chargée :

Ressources bloquées Message DevTools

Dans la notification du concepteur, si vous sélectionnez le lien cliquez ici, cela affiche la boîte de dialogue suivante, avec les domaines des ressources bloquées ajoutés automatiquement à la liste de la boîte de dialogue.

Autoriser les domaines

Toutes 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 les ressources précédemment bloquées dont les domaines ont été ajoutés à la boîte de dialogue. Assurez-vous que vous autorisez uniquement les domaines externes que vous avez vérifiés pour être fiables et sécurisés.

Le fait de 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 ajout

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 par instance installée de Visual Studio.

Outils Options 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ûrs.