ASP.NET Web Formsを使用したはじめに
Web Forms モデルと、ページを作成してコントロールを使用する方法。
Web Live Preview でページ内の外部リソースがブロックされるのはなぜですか?
ページにサード パーティ製ドメインの外部リソースがある場合は、Web Live Preview のデザイナーによって読み込みが妨がっていることに気付き、このトーストを表示できます。
リソースがデザイナーでの読み込みをブロックされている理由と、トーストが表示されている理由が疑問に思われる場合があります。 この記事では、リソースがブロックされた理由について説明します。
Web Live Preview と BrowserLink の概要
Web Live Preview (WLP) は、 BrowserLink の上に構築された Visual Studio 拡張機能です。 WLP では BrowserLink を使用して、Visual Studio とデザイナー間の双方向通信のチャネルを提供します。 この双方向通信により、WLP は多くの機能を提供できます。
- デザイナー内のコンテンツと現在選択されているノードをエディターの内容と同期する。
- デザイナーから作成された新しいコンテンツをエディターにプッシュする。
- アクション パネル コマンドの実行。
Web Live Preview と BrowserLink を使用した潜在的なセキュリティの脆弱性
サード パーティのスクリプトまたはリソースを Web ページに挿入すると、WLP と BrowserLink を使用してクロスサイト スクリプティング (XSS) 攻撃を行うことで、潜在的なセキュリティ脆弱性が発生する可能性があります。
サード パーティのリソースが悪意のあるコードをサイトに挿入する可能性がある場合、コードはデザイナーに挿入された Browser Link スクリプトを使用して Visual Studio への呼び出しを行うことができます。 挿入されたスクリプトを使用すると、Visual Studio で開いているファイルに任意のコンテンツを書き込んだり、他の攻撃ベクトルを開いたりできます。
現時点では、攻撃者が BrowserLink スクリプトを介して Visual Studio に戻って通信するのを防ぐ良い方法はありません。
セキュリティの脆弱性の軽減
可能な限り、BrowserLink スクリプトを介した通信から Visual Studio に戻るセキュリティの脆弱性を制限し、軽減しました。 ただし、一部の攻撃は XSS 攻撃によって引き続き可能になります。
このような XSS 攻撃の可能性を減らすために、既定では、WLP はすべての外部リソースの読み込みをブロックします。 外部リソースがブロックされている場合、WLP はデザイナーの右上隅に次のトーストを表示します。
(この例では、サンプル Web アプリで使用される外部リソースである次の SVG を使用します。 https://visualstudio.microsoft.com/wp-content/uploads/2021/10/Product-Icon.svg
Microsoft Edge DevTools ウィンドウが開いている場合は、外部リソースの読み込みに失敗した理由を説明する次のメッセージが表示される場合もあります。
デザイナーのトーストで 、[ここをクリック] リンクを選択すると、次のダイアログが表示され、ブロックされたリソースのドメインがダイアログの一覧に自動的に追加されます。
ダイアログの一覧に格納されている外部ドメインからのリソースは、WLP では既定ではブロックされないため、通常どおりに読み込まれます。 [OK] をクリックすると、デザイナーによってページが再読み込みされ、ドメインがダイアログに追加された以前にブロックされていたリソースが読み込まれます。 信頼できる安全であることを確認した外部ドメインのみを許可してください。
トーストで [Web Live プレビュー - 外部ドメイン ] リンクをクリックすると、同じダイアログが表示されますが、ブロックされたリソースのドメインはダイアログに追加されません。
設定を使用してダイアログに Tools -> Options -> Web Live Preview -> Allowed external domains during design
アクセスすることもできます。 ダイアログ設定は、インストールされている Visual Studio インスタンスごとに行われます。
警告
ドメインを既定でブロックしないようにすると、上記の XSS 攻撃が発生する可能性があります。 ここでも、信頼できる安全なドメインとして検証できる外部ドメインのみを許可することを強くお勧めします。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示