Mulai menggunakan Formulir Web ASP.NET

Model Formulir Web dan cara membuat halaman dan menggunakan kontrol.

Mengapa sumber daya eksternal di halaman saya diblokir di Pratinjau Langsung Web?

Jika Anda memiliki sumber daya eksternal dari domain pihak ketiga yang ada di halaman Anda, Anda mungkin melihat bahwa desainer di Pratinjau Langsung Web telah mencegah memuatnya, dan menampilkan pesan ini:

Toast Sumber Daya yang Diblokir

Anda mungkin bertanya-tanya mengapa sumber daya telah diblokir agar tidak dimuat di perancang, dan mengapa toast ditampilkan. Artikel ini menjelaskan mengapa sumber daya telah diblokir.

Web Live Preview (WLP) adalah ekstensi Visual Studio yang dibangun di atas BrowserLink. WLP menggunakan BrowserLink untuk menyediakan saluran untuk komunikasi dua arah antara Visual Studio dan perancang. Komunikasi dua arah ini memungkinkan WLP menyediakan banyak fitur:

  • Menyinkronkan konten dan node yang saat ini dipilih di desainer dengan yang ada di editor.
  • Mendorong konten baru yang dibuat dari perancang ke editor.
  • Menjalankan perintah Panel Tindakan.

Jika Anda menyuntikkan skrip atau sumber daya apa pun dari pihak ketiga ke halaman web Anda, ini dapat mengekspos Anda ke potensi kerentanan keamanan dengan menggunakan WLP dan BrowserLink untuk membuat serangan Cross-Site Scripting (XSS).

Jika sumber daya pihak ketiga dapat menyuntikkan kode berbahaya ke situs, kode dapat menggunakan skrip Tautan Browser yang disuntikkan ke perancang untuk melakukan panggilan kembali ke Visual Studio. Skrip yang disuntikkan dapat memungkinkan kode menulis konten arbitrer dalam file yang terbuka di Visual Studio atau membuka vektor serangan lainnya.

Saat ini, tidak ada cara yang baik untuk mencegah penyerang berkomunikasi melalui skrip BrowserLink kembali ke Visual Studio.

Mitigasi kerentanan keamanan

Sebanyak mungkin, kami telah membatasi dan mengurangi kerentanan keamanan dari komunikasi melalui skrip BrowserLink kembali ke Visual Studio. Namun, beberapa serangan masih dapat dimungkinkan melalui serangan XSS.

Untuk mengurangi kemungkinan serangan XSS tersebut, secara default, WLP memblokir semua sumber daya eksternal agar tidak dimuat. Jika ada sumber daya eksternal yang diblokir, WLP menunjukkan notifikasi berikut di sudut kanan atas antarmuka.

Toast Sumber Daya yang Diblokir

(Dalam contoh ini, kami menggunakan SVG berikut, yang merupakan sumber daya eksternal yang digunakan dalam contoh aplikasi web: https://visualstudio.microsoft.com/wp-content/uploads/2021/10/Product-Icon.svg)

Jika jendela Microsoft Edge DevTools dibuka, Anda mungkin juga melihat pesan berikut yang menjelaskan mengapa sumber daya eksternal gagal dimuat:

Pesan Sumber Daya yang Diblokir DevTools

Dalam notifikasi perancang, jika Anda memilih tautan klik di sini, akan menampilkan dialog berikut, dengan domain dari sumber daya yang diblokir secara otomatis ditambahkan ke daftar dialog.

Perbolehkan Domain

Sumber daya apa pun yang berasal dari domain eksternal yang disimpan dalam daftar dialog tidak akan diblokir secara default di WLP dan dimuat seperti biasa. Setelah mengklik OK, perancang memuat ulang halaman dan memuat sumber daya yang diblokir sebelumnya yang domainnya ditambahkan ke dialog. Pastikan Anda hanya mengizinkan domain eksternal yang telah Anda verifikasi agar dapat dipercaya dan aman.

Mengklik tautan Pratinjau Langsung Web - domain eksternal dalam dialog toast memunculkan dialog yang sama, tetapi tidak akan menambahkan domain sumber daya yang diblokir ke dalam dialog:

Izinkan Domain tanpa Penambahan

Anda juga dapat mengakses dialog melalui Tools -> Options -> Web Live Preview -> Allowed external domains during design pengaturan. Pengaturan dialog adalah per instans Visual Studio yang diinstal.

Opsi Alat Sumber Daya yang Diblokir

Peringatan

Mengizinkan domain tidak diblokir secara default dapat mengekspos Anda ke serangan XSS yang disebutkan di atas. Sekali lagi, kami sangat menyarankan hanya mengizinkan domain eksternal yang dapat Anda verifikasi sebagai dapat dipercaya dan aman.