Aspnetcore: Pertimbangkan untuk mengubah URL rakitan .NET agar tidak diakhiri dengan .dll

Dibuat pada 27 Feb 2018  ·  104Komentar  ·  Sumber: dotnet/aspnetcore

Saya ingin melihat demo di https://blazor-demo.github.io/ dan firewall perusahaan saya memblokir MicroApp.dll , sementara dll lainnya berhasil diunduh. Karena banyak perangkat lunak paranoid tentang mengunduh/mentransfer binari windows, mungkin perlu sedikit mengaburkannya? Atau, setidaknya, mengganti nama?

Components Big Rock area-blazor blazor-wasm enhancement

Komentar yang paling membantu

Bagaimana dengan YourAssembly.blazor ? Mungkin cara yang bagus untuk mempromosikan proyek (sangat sangat sedikit) jika ada pengembang web yang melihat alat pengembang untuk melihat bagaimana situs itu dibuat? Atau mungkin hanya saya yang terkadang melihat bahwa sebuah situs dibuat dengan Vue.js atau apa pun dan berpikir "oh, bagus" :)

Semua 104 komentar

Itu menarik - terima kasih telah memberi tahu kami. Kami akan melihat mengubah URL menjadi YourAssembly_dll atau sesuatu seperti itu, meskipun apakah kami melakukannya secara default mungkin bergantung pada apakah kami mendapatkan lebih banyak laporan tentang ini, dan apakah kami dapat menetapkannya karena nama atau lebih dalam pemeriksaan isi muatan.

@SteveSandersonMS hanya untuk menjatuhkan 2c saya di sini. Bukan hanya firewall perusahaan yang menderita .dll-fobia . Beberapa antivirus lokal juga memiliki masalah yang sama.

@galvesribeiro benar untuk tidak menyebutkan bahwa jika saya tidak terbiasa dengan apa yang terjadi dan saya melihat situs web mencoba mengunduh DLL, saya akan keluar dari sana! Pertimbangkan persepsi saat menyikapi ini :)

@joeizy ya, saya setuju dengan Anda bahwa untuk sebagian besar kasus memblokir dll adalah hal yang benar untuk dilakukan. Itulah sebabnya kami berbicara tentang mengganti nama karena kami yakin apa yang kami lakukan ...

Bagaimana dengan YourAssembly.blazor ? Mungkin cara yang bagus untuk mempromosikan proyek (sangat sangat sedikit) jika ada pengembang web yang melihat alat pengembang untuk melihat bagaimana situs itu dibuat? Atau mungkin hanya saya yang terkadang melihat bahwa sebuah situs dibuat dengan Vue.js atau apa pun dan berpikir "oh, bagus" :)

Bagaimana dengan .bin?

Saya suka .bin atau .blazor juga.

+1 “.bin”

.lib atau .bin atau .ilasm ?

Jadi kami dapat membuat keputusan berdasarkan informasi tentang ini, akan sangat membantu jika kami memiliki perkiraan langkah-langkah repro (atau setidaknya beberapa petunjuk ke arah itu). Kita perlu memahami secara spesifik apakah itu masalah penamaan atau masalah konten, misalnya.

Produk firewall spesifik apa yang diketahui memblokir .dll , baik secara default atau dalam konfigurasi umum? Bisakah Anda mengarahkan saya ke sesuatu yang dapat saya instal dan coba? Atau jika tidak, apakah Anda memiliki setidaknya nama itu, dan mungkin tautan ke salah satu dokumen konfigurasinya?

@SteveSandersonMS Saya pikir ini bukan produk tertentu. Beberapa produk, khususnya yang banyak digunakan oleh perusahaan memiliki pengaturan konfigurasi pasang pada jenis file khususnya yang umum seperti .exe, .dll, .so, dll.

Nama itu sendiri adalah pemblokir pertama tetapi, salah satu cara untuk _mengurangi_ masalah ini, adalah cara yang sama yang kita lakukan dengan ClickOnce sejak .Net 2.0. Menandatangani majelis.

Masalahnya adalah (1) itu tidak murah, (2) proses untuk mendapatkan sertifikat itu meskipun Anda mampu membelinya SANGAT rumit dan bahkan tidak tersedia di beberapa negara dan bahkan jika Anda mendapatkannya, (3) sertifikat untuk perusahaan/pengembang biasanya membutuhkan waktu untuk _dipercaya_ oleh basis data perangkat lunak antivirus.

Untuk rakitan yang dirilis MSFT, ini bukan berita besar karena kita tahu bahwa setiap rakitan yang dikirim, bahkan yang OSSed, adalah kode yang ditandatangani oleh kebijakan corpnet. Tetapi pikirkan tentang pengembang, startup, dan proyek OSS lainnya. Mereka semua akan menderita dengan itu.

Saya ingat bahwa di masa lalu yang indah ketika Silverlight adalah suatu hal, jika kami ingin mengunduh rakitan sesuai permintaan, kami memasukkannya ke dalam file xap (yang dalam praktiknya adalah file zip) dan kemudian mengekstraknya dengan
https://msdn.microsoft.com/en-us/library/cc190632 (v=vs.95).aspx

Tidak yakin apakah ada alasan untuk itu (selain menggabungkan beberapa dll dalam satu file). Saya kira tim Silverlight harus terbiasa dengan masalah firewall jika ada.

Masalah dengan bundling bersama adalah bahwa jika Anda perlu memperbarui 1 dari dll tersebut, seluruh paket harus diperbarui ... Tidak ramah cache atau bandwidth model Silverlight ...

Saya tidak menyarankan untuk menggunakan bundling untuk Blazor. Saya hanya mengatakan bahwa selain fitur bundling, mungkin tim Silverlight menggunakan file xap untuk menghindari masalah firewall. Itu hanya tebakan, tentu saja.

Simpan ".net" sebagai ekstensi

Kami baik ke alam bikeshedding ini sekarang. Oleh karena itu saya secara khusus meminta contoh nyata dari produk firewall aktual yang bermasalah dengan ini.

Saya pikir itu bukan produk tertentu

Meskipun demikian, contoh produk tertentu, dan dalam konfigurasi apa hal ini terjadi, akan membantu.

@SteveSandersonMS Saya mengerti bagian itu. Intinya adalah bahwa memperbaiki masalah untuk 1 antivirus/firewall tertentu tidak akan mencakup semua yang lain karena kita semua tahu bahwa masing-masing memiliki heuristik, database, pengaturan untuk itu. Satu-satunya kasus yang dapat mencakup aturan penamaan dan tanda tangan untuk semuanya, adalah:

  1. Tandatangani majelis seperti biasa dan;
  2. Pastikan penamaan tidak ada dalam daftar hitam _default_

@SteveSandersonMS Saya telah melihat beberapa masalah saat menggunakan NOD32 dari ESET dan telah melihat blok pemindai aktif mengunduh beberapa file biner secara diam-diam, ini tampak seperti Perpustakaan Tautan Dinamis yang tidak memiliki tanda tangan digital.

Terima kasih infonya @grahamehorner. Apakah Anda tahu kira-kira seperti apa langkah-langkah repro itu? Jika saya baru saja menginstal NOD32 ke mesin Windows (sekali pakai), apakah itu cukup untuk membuatnya tidak dapat membuka https://blazor-demo.github.io/? Atau ada konfigurasi tambahan yang diperlukan?

Dari https://www.paloaltonetworks.com/documentation/80/pan-os/pan-os/threat-prevention/set-up-file-blocking :

Profil Pemblokiran File memungkinkan Anda mengidentifikasi jenis file tertentu yang ingin Anda blokir atau pantau. Untuk sebagian besar lalu lintas (termasuk lalu lintas di jaringan internal Anda), Anda akan ingin memblokir file yang diketahui membawa ancaman atau yang tidak memiliki kasus penggunaan nyata untuk diunggah/diunduh. Saat ini, ini termasuk file batch, DLL, file kelas Java, file bantuan, pintasan Windows (.lnk), dan file BitTorrent.

@SteveSandersonMS Saya sedang menunggu pertemuan dengan Tim Administrasi TI kami yang mengelola NOD32 dari jarak jauh dan konfigurasinya untuk mengetahui apa (jika ada) yang telah mereka ubah/kustomisasi, karena saya juga menerima email otomatis dari sistem NOD32 kami yang menyatakan bahwa saya mungkin melanggar kebijakan keamanan perusahaan dengan mengunduh/menginstal perangkat lunak yang tidak tepercaya. Saya akan memposting kembali ketika saya mengetahui atau memiliki info tambahan.

Saya ingin tahu apakah .dll dapat/akan diblokir jika dikemas menjadi .nupkg dan dibongkar/dimuat oleh blazor setelah diunduh?

Saat ini, ini termasuk file batch, DLL, file kelas Java, file bantuan, pintasan Windows (.lnk), dan file BitTorrent.

Itulah yang saya katakan... Terlepas dari produknya, itu adalah _default_ daftar jenis file yang akan diblokir oleh administrator TI mana pun di perusahaan reguler (biasanya non-IT)...

BTW, jika ada seseorang dari tim WPF yang bekerja dengan .xap, mereka dapat dengan jelas memberi tahu siapa pun apa yang mereka hadapi ketika mereka merilis "WPF di Browser" pada hari itu dan menghadapi _persis_ masalah yang sama.

Butuh beberapa saat sampai _all_ perangkat lunak anti-virus mulai _trust_ pada ekstensi itu.

Saya memiliki masalah yang sama. Menguji sampel di dalam jaringan perusahaan. File DLL dilaporkan diblokir. Ini pada dasarnya membuat tidak mungkin untuk mendemonstrasikan ini ke kolega. Membuka blokir file DLL mungkin bukan hal yang baru.

Melihat halaman konvensi resmi...
http://webassembly.github.io/spec/core/binary/conventions.html

Ekstensi yang disarankan untuk file yang berisi modul WebAssembly dalam format biner adalah ".wasm" dan Jenis Media yang disarankan adalah "application/wasm".

Jadi tampaknya hal pertama yang harus dilakukan adalah mengganti nama file menjadi .wasm, dan jika masih diblokir, maka firewall perlu dibuka blokirnya.

Saya tidak berpikir bahwa mengganti nama file ke .wasm adalah ide yang bagus. DLL bukanlah modul Wasm, melainkan rakitan .NET yang (saat ini) diinterpretasikan oleh runtime Mono Wasm ( baca selengkapnya ). Hanya runtime Mono yang merupakan modul Wasm. Namun, saya juga memilih untuk mengganti nama DLL menjadi sesuatu yang lain karena firewall terutama dalam skenario perusahaan.

Antivirus AVG versi 18.1.3044 memblokir file DLL juga ketika saya mencoba mengunjungi https://blazor-realworld.azurewebsites.net/

Saya tidak berpikir bahwa mengganti nama file ke .wasm adalah ide yang bagus. DLL bukanlah modul Wasm, melainkan rakitan .NET yang (saat ini) diinterpretasikan oleh runtime Mono Wasm (baca selengkapnya). Hanya runtime Mono yang merupakan modul Wasm.

Masalahnya adalah apa ekstensi "sesuatu yang lain" itu karena tidak ada ekstensi yang ada yang berlaku (. NET MSIL payload yang ditafsirkan langsung di kotak pasir browser adalah konsep baru dalam keamanan) sedangkan wasm sudah diizinkan oleh firewall perusahaan.

Penanganan .xap mungkin bukan referensi yang baik dari sudut pandang keamanan karena melewati kotak pasir keamanan browser tidak seperti wasm.

Ya, file DLL berisi MSIL sehingga secara teknis benar, mereka tidak sepenuhnya biner. Tetapi mereka diberi nama DLL karena mereka dinamai dari DLL Win32 asli meskipun mereka hanya berbagi sebagian dari format PE dan sebagian besar berbeda secara internal. Sepanjang baris yang sama, wasm adalah format perpustakaan "asli" untuk Webassembly, dan untuk alasan yang sama masuk akal untuk menamai perpustakaan yang dikelola DLL:s (meskipun mereka tidak seperti DLL asli:s secara internal), itu bisa masuk akal untuk menamai mereka wasm. Dari perspektif keamanan, DLL menyiratkan "eksekusi lokal" sedangkan wasm menyiratkan "eksekusi browser". Untuk mematuhi format wasm, mungkin rakitan .NET dapat disematkan sebagai data untuk menjadikannya wasm yang valid dengan string awal ajaib dan semuanya.

Idenya di sini adalah bahwa ada analog: wasm adalah untuk MSIL apa PE adalah untuk MSIL: format wadah pembungkus. Preseden:

https://docs.microsoft.com/en-us/dotnet/standard/assembly-format

Format biner .NET didasarkan pada format file Windows PE. Faktanya, perpustakaan kelas .NET adalah Windows PE yang sesuai, dan pada pandangan pertama muncul sebagai perpustakaan tautan dinamis Windows (DLL) atau aplikasi yang dapat dieksekusi (EXE). Ini adalah karakteristik yang sangat berguna di Windows, di mana mereka dapat menyamar sebagai binari asli yang dapat dieksekusi dan mendapatkan beberapa perlakuan yang sama (misalnya, beban OS, alat PE).

Jika model Blazor tidak bermain 100% dengan baik dengan firewall yang ada, ini hampir merupakan penghenti pertunjukan. Itu harus mengalir melalui semua firewall dengan mudah seperti Javascript. Jika saya adalah administrator firewall, saya tidak yakin apakah saya ingin menambahkan entri daftar putih baru untuk setiap bahasa baru yang memiliki format IL-nya sendiri.

Jika model Blazor tidak bermain 100% dengan baik dengan firewall yang ada, ini hampir merupakan penghenti pertunjukan.

@SteveSandersonMS maaf jika Anda sudah menjawab ini sebelumnya, tetapi apakah Anda membayangkan ini bisa dipecahkan?

Tentu saja! Kami akan mengubah URL atau format konten sesuai kebutuhan.

alangkah baiknya jika ini bisa diprioritaskan untuk tonggak sejarah berikutnya. Benar-benar akan menghilangkan ketakutan orang-orang bahwa itu adalah penghalang pertunjukan karena potensi blok keamanan perusahaan

@JonnyGibson Seperti yang disebutkan Steve sebelumnya, kami berencana untuk mengatasi ini, tetapi dalam semangat Blazor sebagai proyek eksperimen, kami memprioritaskan pekerjaan saat ini yang kurang dipahami dengan baik. Kami cukup yakin kami tahu bagaimana mengatasi yang satu ini.

Berikut contoh lain:
blazor antivirus

Mungkin solusinya adalah membiarkan pengembang menentukan ekstensi untuk aplikasi sampai firewall dan AV menambahkan dukungan dalam daftar putih untuk ekstensi apa pun yang diputuskan.

Mengenai komentar saya sebelumnya tentang membiarkan pengembang menentukan ekstensi, ini juga akan memungkinkan pengembang untuk membuat aplikasi dengan ekstensi yang berbeda untuk menguji perilaku firewall dan Antivirus.

@jonparker @torhovland rasanya bagi saya bahwa alih-alih mendefinisikan ekstensi yang mungkin atau mungkin tidak diblokir, kita perlu menemukan cara yang memastikannya tidak pernah diblokir. Tidak ada yang akan menggunakan kerangka kerja yang akan menyebabkan situs web diblokir di bawah beberapa skenario (sangat mungkin).

Gagasan untuk menghapus ekstensi tampaknya masuk akal dan harus dicoba secepatnya. Saya belum melihat masalah lain yang diangkat yang sedekat ini dengan menjadi showstopper.

Gagasan untuk menghapus ekstensi tampaknya masuk akal dan harus dicoba secepatnya.

Agar kami dapat menguji perbaikan apa pun, kami harus dapat mereproduksi atau setidaknya menyelidiki sebanyak mungkin lingkungan bermasalah. Untuk membantu kami dalam hal itu, harap terus berikan detail tentang lingkungan tempat Anda mengalami masalah dengan pemblokiran aplikasi Blazor. Terima kasih semua orang yang telah melaporkan ini!

Saya belum melihat masalah lain yang diangkat yang sedekat ini dengan menjadi showstopper.

Dalam jangka panjang kami tidak terlalu mempermasalahkan masalah ini. Kami cukup yakin bahwa kami akan dapat menangani masalah ini dengan beberapa bentuk pengemasan aplikasi atau transformasi aplikasi. Tapi kami menunda merancang solusi sampai kami memiliki lebih banyak data tentang apa masalah spesifiknya.

WebSense adalah alat yang digunakan jaringan perusahaan saya untuk mengontrol akses web. Saya cukup yakin bahwa masalah yang memblokir Blazor hanyalah pemblokiran unduhan file yang dapat dieksekusi secara eksplisit.
https://www.websense.com/content/support/library/web/hosted/admin_guide/exten_block.aspx

Sepertinya AVG memblokir proyek blazer saya. https://files.gitter.im/aspnet/Blazor/Oc8w/image.png
blazor antivirus

Saya dapat mengonfirmasi bahwa saya juga memiliki pengalaman dengan AVG yang memblokir situs web saya. Teman saya tidak dapat mengakses situs web tanpa menonaktifkan AVG. sejauh yang saya tahu dia menggunakan pengaturan antivirus default.

Ekstensi DLL tidak masalah ... Dengan kompilasi AOT dalam karya, DLL tidak akan didistribusikan, karena saya mengerti DLL digunakan untuk loop dev yang lebih cepat. Jangan habiskan waktu untuk ini, buat AOT bekerja, itulah tujuannya.

Sebuah sumur... #897 adalah duplikat.

Ini adalah kesalahan saya
image

mungkin kita dapat mengatur ekstensi sebagai parameter di UpdateIndex di mana kita akan mendapatkannya dari baris perintah (default "dll"): https://github.com/aspnet/Blazor/blob/dev/src/Microsoft.AspNetCore.Blazor .Build/Core/IndexHtmlWriter.cs

Jika saya mengirim PR tentang ini, apakah ini akan dipertimbangkan?

Tolong perbaiki masalah ini, ini adalah satu-satunya item yang menghalangi saya untuk menguji ini di perusahaan.

Saran perbaikan cepat jika Anda menggunakan IIS dengan modul url penulisan ulang:

  • Anda dapat mengubah output semua file ".*.dll dengan .wasmnet atau apa pun. Dia akan mengedit konten tag skrip (https://docs.microsoft.com/en-us/iis/extensions/url-rewrite -modul/membuat-aturan-keluar-untuk-url-menulis ulang-modul)
  • tulis ulang ekstensi ini ke dll sehingga file yang bagus akan dikirim ke browser (atau ganti nama file dll setelah digunakan)

anda mungkin dapat melakukan ini dengan .net core https://docs.microsoft.com/fr-fr/aspnet/core/fundamentals/url-rewriting?view=aspnetcore-2.1&tabs=aspnetcore2x

Hanya ide lain: Saya perhatikan bahwa sebagian besar produk firewall dan keamanan ini tidak memblokir file .zip. Faktanya, sering kali ketika mencoba mengunduh file .dll di mana saya diblokir di beberapa jaringan perusahaan, saya melihat versi .zip dari file yang sama hampir selalu lolos dari pemblokiran.

Jadi kita cukup mengemas MyLib.dll sebagai MyLib.zip (berisi satu file MyLib.dll di dalam zip). Masalahnya adalah browser secara native akan lebih cepat mendekompresi konten file dibandingkan dengan jika WASM/MONO menggunakan beberapa rakitan .NET untuk meng-unzip konten arsip terkompresi. Setidaknya akan ada perlambatan 2x-3x untuk unzip.

Tapi ada solusinya: Kita bisa mengemas file MyLib.dll sebagai MyLib.zip dengan kompresi NOL yang digunakan, lalu menyerahkannya ke server web untuk mengompres file (menggunakan format kompresi apa pun yang didukung browser klien saat meminta file). Saat browser mengunduh file itu, itu akan secara asli mendekompresi konten yang diterima, sebelum mencapai Mono/WebAssembly. Jadi runtime Mono kemudian hanya perlu membongkar file .zip (yang pada titik ini adalah arsip zip asli yang tidak terkompresi).

Saya harap tidak ada yang bingung dengan hal di atas. Saya hanya menyarankan agar kita menggunakan .zip sebagai format wadah yang tidak terkompresi; kemudian biarkan browser web dan server web menangani kompresi dan dekompresi seperti biasanya untuk file yang diminta. Untuk memberikan contoh konkrit:

  1. 2 MB mscorlib.dll mendapat .zip menjadi 2 MB mscorlib.zip (perhatikan bahwa kami menyetel kompresi ke NONE).
  2. Permintaan browser web mscorlib.zip (mengirim header Accept-Encoding biasa dengan metode kompresi yang didukung).
  3. Server web mengompresi konten mscorlib.zip hingga 700 MB dan mengirimkannya ke server, sehingga ukuran paket akan sama seperti sekarang)
  4. Peramban web (Chrome atau Edge, dll) mendekompresi konten secara asli, dan runtime Mono akan menerima file mscorlib.zip 2 MB asli, yang dapat dibongkar oleh WASM Mono ke .dll asli dengan sangat cepat karena tidak ada kompresi internal yang digunakan pada arsip zip asli itu.

Jadi itu hanya saran lain untuk dimasukkan ke dalam ember. Pikiran saya tentang ide-ide lain menyarankan:

  • Saya berharap itu akan cukup hanya dengan menghapus ekstensi, seperti di MyLib.dll menjadi MyLib atau saran MyLib_dll sebelumnya.
  • Saya juga setuju bahwa mungkin untuk "mengemas" rakitan sebagai data di dalam file .wasm (tetapi masih secara internal dalam format IL) dengan cara yang sama rakitan .NET menggunakan format PE dan diberi .dll sebagai ekstensi. Jadi kita bisa memiliki MyLib.wasm yang secara internal menyimpan IL sebagai data. Satu-satunya kelemahan yang saya lihat di sini adalah ketika kita memiliki kompilasi AOT nyata, mungkin sulit untuk secara visual mengetahui apakah file .wasm berisi kode yang dikompilasi IL atau Native (WASM).

.dll akan menjadi ekstensi yang tepat dan harus disimpan sebagai default. Menyembunyikan maksud file dengan mengubah ekstensi ke .zip bukanlah solusi yang optimal, karena menghasilkan kebingungan. Mungkin akan lebih baik untuk tidak menggunakan ekstensi sama sekali dan beri nama file seperti somedllname_v1_0_0_4321_ab5e8d5b97d141aca3c54776e82d2355
(yaitu nama proyek, versi file, dan hash SHA-256)

Masalah yang lebih besar adalah, pemindai AV saat ini (secara heuristik) mendeteksi rutinitas yang mengambil kode tambahan. Tidak ada solusi nyata untuk masalah itu sampai vendor AV membuat adaptasi untuk mendukung .wasm . Jadi lebih baik hubungi vendor AV dan laporkan sebagai bug, sehingga mereka dapat memperbaikinya.

Saya 100% setuju dengan @MovGP0. Vendor AV harus memperbarui perangkat lunak mereka. Mereka menggunakan algoritma yang berbeda untuk mendeteksi kode berbahaya dan algoritma tersebut harus cukup pintar untuk memblokir virus dan memungkinkan perangkat lunak yang sah. Saya percaya bahwa setiap pemindai AV modern memeriksa konten setiap arsip, zip, 7z, rar, dll. Mengubah ekstensi nama file atau pseudo-packing bukanlah solusi jangka panjang.

Tampaknya konyol bahwa ini adalah masalah karena pemblokiran disebabkan oleh alasan warisan. Ada dua skenario dengan Blazor untuk DLL:

  1. Kode IL yang berjalan ditafsirkan di browser: Dalam hal ini kode IL di DLL hanyalah DATA mentah, dan tidak ada ancaman lebih dari file JPG atau XML yang diproses browser. Ini karena IL yang diunduh sedang ditafsirkan sepenuhnya. Produk keamanan tidak memiliki urusan lebih dengan ini daripada dengan file GIF, XML, atau TXT apa pun yang sedang diproses oleh situs web.

atau (di masa depan)

  1. Kode IL mengkompilasi AOT ke .wasm. Dalam hal ini kode IL akan menghasilkan .WASM dan satu-satunya masalah adalah bagaimana produk keamanan ini menangani file .wasm.

Poin lain tentang "pengemasan" adalah bahwa inilah yang telah dilakukan oleh banyak kerangka kerja javascript untuk mengurangi permintaan ke server: memiliki beberapa skrip sisi server yang secara dinamis menggabungkan beberapa skrip terpisah yang diajukan ke dalam satu file. Saya pribadi akan senang melihat beberapa penangan sisi server cerdas yang secara dinamis dapat menggabungkan 20 kecil (5k) DLL untuk mengurangi permintaan server awal dan membiarkan saya sebagai pengembang opsional memiliki kontrol atas itu selama pemuatan halaman.

Tapi saya pikir tim Blazor memiliki umpan balik kami sekarang dan akan melakukan apa pun yang masuk akal dan/atau memberikan opsi.

Saya akan menunjukkan bahwa pandangan bahwa kita harus menunggu sampai semua orang memperbarui produk keamanan mereka tidak berfungsi karena bukan hanya produk , tetapi juga perusahaan besar yang ada yang tidak akan secara realistis membuat perubahan konfigurasi pada infrastruktur jaringan mereka. Ini akan sangat merugikan penggunaan Blazor karena ini bukan hanya tentang pemindai AV, ini tentang mencoba memberi tahu staf di departemen TI perusahaan besar seperti News Corporation atau Bhp Billiton untuk membuat perubahan konfigurasi jaringan. Budaya sedang berubah, tetapi masih banyak staf di departemen tersebut yang tidak peduli (atau akan secara aktif tersenyum) jika ini menyebabkan masalah Blazor .

  • Saya percaya bahwa setiap pemindai AV modern memeriksa konten setiap arsip, zip, 7z, rar, dll.
    Pengalaman pribadi saya selama dekade terakhir adalah bahwa ketika dalam bentuk .zip semuanya biasanya baik-baik saja. Hal-hal biasanya diblokir jika file .exe atau .dll. Di dalam arsip zip, sebagian besar produk hanya akan memblokir file zip jika mereka mendeteksi tanda tangan sebenarnya dari malware di dalam arsip zip (bukan hanya karena ada .dll di dalamnya). Tapi saya akui setiap produk berbeda sehingga tidak ada jaminan di sini.
    Dari: Andrzej-W [email protected]
    Dikirim: Rabu, 6 Juni 2018 05:38
    Kepada: aspnet/Blazor [email protected]
    Cc: jiggyswift [email protected] ; Komentar [email protected]
    Perihal: Re: [aspnet/Blazor] Pertimbangkan untuk mengubah URL rakitan .NET agar tidak diakhiri dengan .dll (#172)

Saya 100% setuju dengan @MovGP0 https://github.com/MovGP0 . Vendor AV harus memperbarui perangkat lunak mereka. Mereka menggunakan algoritma yang berbeda untuk mendeteksi kode berbahaya dan algoritma tersebut harus cukup pintar untuk memblokir virus dan memungkinkan perangkat lunak yang sah. Saya percaya bahwa setiap pemindai AV modern memeriksa konten setiap arsip, zip, 7z, rar, dll. Mengubah ekstensi nama file atau pseudo-packing bukanlah solusi jangka panjang.


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/aspnet/Blazor/issues/172#issuecomment-394834055 , atau matikan utasnya https://github.com/notifications/unsubscribe-auth/AmF6aIkiXWAVe282A0YSh_a75bgm .

Saya memiliki dua orang dari Tim Keamanan Perusahaan datang ke meja saya setelah saya menelusuri situs contoh mono wasm , yang mengunduh hello.exe . Saya pikir itu diambil oleh "Perlindungan Titik Akhir Symantec".

Terima kasih Harry. Apakah mereka memberi Anda waktu untuk mengemas semuanya ke dalam kotak sebelum mengantar Anda keluar pintu? Cerita terbaik.

Dari: Harry McIntyre [email protected]
Dikirim: Kamis, 7 Juni 2018 20:36
Kepada: aspnet/Blazor [email protected]
Cc: jiggyswift [email protected] ; Komentar [email protected]
Perihal: Re: [aspnet/Blazor] Pertimbangkan untuk mengubah URL rakitan .NET agar tidak diakhiri dengan .dll (#172)

Saya memiliki dua orang dari Tim Keamanan Perusahaan datang ke meja saya setelah saya menelusuri situs contoh mono wasm https://nam01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.hipbyte.com % 2F% 257Elrz% 2Fmono-wasm-halo & data = 02% 7C01% 7C% 7Cf21af207f881447e8d5d08d5cc627621% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636639645608861860 & SDATA = Cp9wUKXElAX4z39zarw0DQOlhHo3ZY0MtSRdz8j5YDw% 3D & dicadangkan = 0 , yang download hello.exe a. Saya pikir itu diambil oleh "Perlindungan Titik Akhir Symantec".


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Faspnet%2FBlazor%2Fissues%2F172%23issuecomment-395374377&data=02 % 7C01% 7C% 7Cf21af207f881447e8d5d08d5cc627621% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636639645609018105 & SDATA = A9rl39HzRP7w9mzRkqPKrG4zsHJKkVIy2jwJ0e9nc3g% 3D & dicadangkan = 0 , atau mematikan benang https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub. com% 2Fnotifications% 2Funsubscribe-auth% 2FAmF6aG9lvmy2g93BQQmI-5mbrGICanCxks5t6QIPgaJpZM4SUpej & data = 02% 7C01% 7C% 7Cf21af207f881447e8d5d08d5cc627621% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636639645609018105 & SDATA = yZhLQXXqqp0hLEtD3mTowdoI4EpBu5qNNR0UI4tZDm8% 3D & dilindungi = 0 .

Mungkin berguna:

Dari https://www.cisco.com/c/en/us/td/docs/security/firepower/623/configuration/guide/fpmc-config-guide-v623/file_policies_and_advanced_malware_protection.html

Sistem dapat memeriksa hingga tiga tingkat file bersarang di bawah file arsip terluar (level 0) jika file tersebut adalah arsip (seperti file arsip .zip atau .rar). Anda dapat memeriksa file arsip sebesar ukuran file Maksimum untuk menyimpan pengaturan kontrol akses lanjutan.
Jika ada file individual yang cocok dengan aturan file dengan tindakan blok, sistem akan memblokir seluruh arsip, bukan hanya file individual. Sistem juga dapat memblokir arsip yang melebihi tingkat penimbunan yang ditentukan, atau yang isinya dienkripsi atau tidak dapat diperiksa.

Tautan lain (gulir ke "Fitur jenis file"):
https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk105318&js_peid=P-14d3e69bf07-10000

Saya menemukan solusi yang dijelaskan di sini: https://remibou.github.io/Change-Blazor-DLL-extension-with-ASPNET-Core/ . Ini mungkin tidak membantu untuk setiap kasus dan AV tetapi ini adalah titik awal.

@RemiBou man... itu luar biasa :) Hasil yang bagus saat menggunakan URLRewrite untuk itu! 👍

Pada topik penggantian ekstensi dll, saya ingin mendorong ekstensi wasm (meskipun secara teknis tidak benar) karena halaman github, cloudflare, dan mungkin sebagian besar CDN sudah menangani kompresi untuk "aplikasi/wasm" tetapi tidak untuk "aplikasi/ octet-stream" jadi aplikasi Blazor default berbobot sekitar 3,2 MB hanya memiliki mono.wasm yang dikompres dengan brotli. Pada akhirnya perpustakaan Blazor sudah akan menjadi wasm ketika kompilasi AOT akan ada, bukan?

Saya baru saja menguji trik @RemiBou menggunakan ekstensi wasm dan mengganti nama dll sebelum mendorongnya ke halaman gh dan sekarang penyegaran dingin berjumlah 1,9 MB sebagaimana mestinya: hebat! Terima kasih @RemiBou!!

Tetapi antivirus Avast saya awalnya menjadi gila karena semua file wasm palsu itu terinfeksi DRep dan saya mendapat jendela peringatan yang sama dengan @jorisvergeer . Setelah pencarian cepat, saya pikir masalahnya dapat diselesaikan dengan mengunduh perpustakaan wasm palsu dari situs dengan reputasi yang lebih baik daripada subdomain yang baru saya buat, tetapi saya hanya menebak sekarang.

Untuk contoh bagaimana aplikasi blazor sisi klien gagal dari dalam perusahaan, lihat file PDF terlampir. Ini adalah masalah yang membuat frustrasi dari sudut pandang pengembang karena kami berada di bawah kendali sesuatu yang berada di luar kendali kami.

Akan luar biasa jika kita dapat mencoba mengkompilasi ulang dll ke file wasm dan kemudian dapat mengunduhnya sebagai gantinya. (semoga berhasil)

403terlarang.pdf

Pesan terlarang 403 di posting sebelumnya dibuat oleh firewall zscaler kami.

Apa cara terbaik untuk menghadirkan visibilitas dan prioritas pada masalah ini sehingga dapat dipertimbangkan dalam sprint mendatang?

@rynowak @SteveSandersonMS @mkArtakMSFT Kita perlu memastikan bahwa kita memiliki solusi untuk ini, jadi pindah ke tonggak blazor-wasm.

Saya telah membuat dokumen yang menjelaskan solusi yang saya gunakan saat ini untuk mengatasi dll yang diblokir oleh zScaler.

https://github.com/jucchytil/CSBNotes/blob/master/Notes.md

Saya menduga kita mungkin perlu mempertimbangkan solusi serupa untuk file WASM karena ada kemungkinan produsen firewall memerlukan waktu untuk menerima file wasm sebagai file yang aman selama beberapa tahun ke depan.

Saya sangat menantikan PublishSingleFile/PublishTrimmed/TargetFramework=wasm jadi kami hanya memiliki satu file yang relatif kecil untuk dikelola di service worker.

pikiran Anda?

Terima kasih Dan!
Saya bersyukur ini mendapat perhatian.
Saya memposting solusi sementara saya ke https://github.com/aspnet/AspNetCore/issues/5477
Semoga bisa membantu dalam beberapa hal.
joe

Dari: Daniel Roth [email protected]
Dikirim: Jumat, 11 Oktober 2019 10:33
Kepada: aspnet/AspNetCore [email protected]
Cc: jucchytil [email protected] ; Komentar [email protected]
Perihal: Re: [aspnet/AspNetCore] Pertimbangkan untuk mengubah URL rakitan .NET agar tidak diakhiri dengan .dll (#5477)

@rynowak https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frynowak&data=02%7C01%7C%7Cecf83fca357f4abe690d08d74e604c75%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637064047810603291&sdata=N5o8HJ7%2FM1UInuoFp1HXbY9AqDhM8BCm %2F0IGZujyqqI%3D&reserved=0 @SteveSandersonMS https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSteveSandersonMS&data=02%7C01%7C%7Cecf834abe6904c4abe6aaaaa94a74afaaaaa07Cecf834abe690dc4abe %7C637064047810613296&sdata=vDuSWWEJ0CGf7ex7TStTMrHH1E27V5eza%2FMJKIkr%2BeY%3D&reserved=0 @mkArtakMSFT https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2FT4ec4c6077746 %7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637064047810623307&sdata=ltzBUDC4c8o9kPvFmBlIOHN1B%2BUI2Fj%2FspG4WCIo%2BD8%3D&reserved=0 Kita perlu memastikannya, jadi kita harus memastikannya.


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Faspnet%2FAspNetCore%2Fissues%2F5477%3Femail_source%3Dnotifications%26email_token % 3DAEBYRE4UUUJDL3KHNPOYYJ3QOCMCVA5CNFSM4GK4V5L2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBALS2Y% 23issuecomment-541.112.683 & data = 02% 7C01% 7C% 7Cecf83fca357f4abe690d08d74e604c75% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C637064047810633312 & SDATA = qxqf5LstFcAUsEgSImIxMMOw33sNOgku09qw% 2FJp3Z18% 3D & dicadangkan = 0 , atau berhenti berlangganan https://eur01.safelinks.protection.outlook.com/?url= https% 3A% 2F% 2Fgithub.com% 2Fnotifications% 2Funsubscribe-auth% 2FAEBYRE2MQUF65CHXQD54OWDQOCMCVANCNFSM4GK4V5LQ & data = 02% 7C01% 7C% 7Cecf83fca357f4abe690d08d74e604c75% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C637064047810643323 & SDATA = yx154tNWkGvXlXbVJNjvswed9hG0zr91HFqIhMVLCfo% 3D & dilindungi = 0 .

Hanya menindaklanjuti permintaan dari Daniel Roth di blognya, yang meminta saya untuk memposting nama penyedia hosting web saya di sini, sehingga Anda dapat menguji masalah ini. Komentar blog dapat ditemukan di sini:- https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0/#comment -955

Penyedia hosting yang dimaksud adalah infinityfree.net. Mereka gratis, jadi mudah untuk dicoba!

Pada dasarnya, saat mengunggah situs, server mereka akan menghapus sekitar setengah dari DLL dari folder _framework\bin\. Awalnya saya mengira ada yang tidak beres dan berulang kali mencoba mengunggah file yang hilang. Akhirnya mereka tampak "menempel", seolah-olah server mereka menyerah virus memeriksa file baru, dan sehari kemudian masih ada (walaupun mungkin mereka akhirnya akan tersapu).

Bagaimanapun, tolong tambahkan suara saya untuk solusi yang sesuai seperti mengganti nama DLL.

@andyste1 Terima kasih atas infonya. Apakah Anda memeriksa dan mengonfirmasi bahwa jika file diubah namanya, file tersebut tidak dihapus? Jika perusahaan hosting melakukan ini berdasarkan konten daripada nama, maka mengganti nama tidak selalu menjadi solusi.

Mengganti nama mungkin tidak banyak membantu - solusi telah tersedia untuk mencapai ini.
Bagi saya, masalahnya adalah format PE file - program anti-virus, Sophos, akan memblokir file setiap saya menamainya, seperti juga memindai konten file. Untungnya Sophos mengizinkan pengunduhan file DLL (format PE) melalui HTTPS (bukan HTTP).

@lertoo kami sedang mendiskusikan kemungkinan menghapus metadata PE dari rakitan untuk mengurangi ukuran, tetapi mungkin juga membantu dengan masalah ini.

Versi antivirus Norton untuk masalah ini: https://forums.asp.net/t/2161027.aspx

Sangat mungkin tidak hanya ekstensi file, tetapi header file juga menyebabkan masalah dengan beberapa perangkat lunak paranoiac. Kebingungan tidak akan membantu ketika masalahnya ada pada header, kecuali JS yang memulai Blazor VM tidak secara manual menggantinya di dalam memori, tetapi ini adalah tembakan panjang.

Solusi saya saat ini adalah menyediakan versi yang disandikan Base64 dari setiap DLL dalam pipa CI/CD saya, menggunakan pekerja layanan untuk mendeteksi 403 dari firewall untuk DLL, mengunduh versi Base64 dari file teks DLL, dan mengonversi Base64 kembali ke DLL di service worker sebelum di-cache di browser.

Akan menarik untuk melihat apakah masalahnya hilang jika kita hanya dapat mengonversi DLL ke file WASM karena file WASM tampaknya berhasil untuk saya, tetapi itu mungkin tidak berlaku untuk semua Firewall.

Positif palsu Blazor WebAssembly lainnya:

image

Saya sudah menunggu sejak awal 2018 untuk masalah ini diselesaikan :) saya suka/mencintai blazer, tapi yang ini sepertinya penghenti acara yang potensial, jika dll tidak dapat diubah

@JonnyGibson Terima kasih atas kesabaran Anda! Kami sedang bekerja untuk memiliki semacam resolusi untuk masalah ini untuk rilis yang akan datang pada bulan Mei tahun ini.

Ini adalah masalah yang cukup panjang jadi saya mencoba merangkum semua ini di sini:

Anti Virus

  • NOD32 (ESET)
  • AVG v.18.1.3044 (+3)
  • Pemindaian lalu lintas web
  • Avast(+3)
  • Perlindungan Titik Akhir Symantec
  • zScaler

Ganti nama proposal

  • .blazor (+35)
  • .bin (+3)
  • .lib
  • .ilasma (+6)
  • .net (+14)
  • .wasm (-8)
  • [kustom] (+1)
  • [Tidak ada]

Solusi yang digunakan orang

  • Ganti nama ekstensi
  • DLL penyandian BASE64

Catatan umum

  • .DLL dan .EXE adalah ekstensi yang diblokir banyak perusahaan di tingkat firewall, sebagai kebijakan.
  • Ada laporan tentang ekstensi yang diganti namanya juga dilaporkan oleh perangkat lunak antivirus

@mkArtak
Anda mungkin juga ingin memasukkan zScaler di suatu tempat dalam ringkasan Anda karena itulah yang memblokir unduhan saya.

Salah satu pendekatan untuk menguji adalah mengonversi semua file yang dapat dieksekusi ke file wasm karena saya tidak ingat zScaler mengalami masalah dengannya.

Saya sementara pindah ke Angular sampai blazer sisi klien mengatasi masalah ini dan memiliki waktu pengunduhan awal yang lebih baik.

Saya telah mencurahkan banyak waktu untuk mencoba membuat blazer sisi klien berfungsi dan memutuskan untuk menunggu sampai platform lebih matang.
https://github.com/jucchytil/CSBNotes/blob/master/Notes.md

@javiercn mari kita lacak pekerjaan penggantian nama ekstensi file di sini dan saya akan mengajukan masalah terpisah untuk ditindaklanjuti dengan penyedia Anti-virus mengenai hal ini.

TINDAKAN DIPERLUKAN

🎫.
Saya baru saja membuat masalah baru di mana kami akan mencoba mengumpulkan semua perangkat lunak khusus yang memblokir aplikasi WASM Blazor. Harap berikan informasi khusus untuk kasus Anda seperti yang dijelaskan di sini: https://github.com/dotnet/aspnetcore/issues/19552

Di samping catatan, CDN seperti halaman github dan cloudflare mengompresi aset dengan ekstensi wasm di luar kotak saat mereka menyajikan versi tidak terkompresi untuk file dll. Jika saya ingat dengan benar Azure CDN harus berperilaku dengan cara yang sama.

Kami mengalami ini hari ini. Mencabut pembatasan pengunduhan DLL tidak akan menjadi pilihan. Tidak hanya untuk kami, tetapi pelanggan kami sangat tidak mungkin untuk menghapus batasan itu juga - jadi kami benar-benar membutuhkan perbaikan untuk ini jika tidak, proyek Blazor kami mati di dalam air (majikan tidak mau menggunakan sisi server).

Saya percaya firewall kami adalah Palo Alto.

@mrpmorris dapatkah Anda memasukkan detailnya di https://github.com/dotnet/aspnetcore/issues/19552 karena di sinilah kami mengumpulkannya sehingga kami dapat melibatkan vendor.

@mrpmorris telah mengubah ekstensi memecahkan masalah dalam skenario Anda?

Hai @javiercn

Saya baru saja memperbarui masalah itu. Tampaknya beralih ke https berhasil untuk kami, yang masuk akal. Kami tidak dapat memastikan bahwa klien kami bersedia untuk memiliki pengecualian yang sama.

Saya akan dengan senang hati memeriksa opsi penggantian nama. Apakah Anda memiliki tautan ke petunjuk tentang cara membuat Blazor bekerja dengan ekstensi .wasm atau yang lainnya? Saat ini saya hanya mengklik kanan proyek server web saya dan memilih Publish langsung ke Aplikasi Web Azure.

@mrpmorris Anda dapat memeriksa petunjuknya di sini
https://github.com/dotnet/aspnetcore/pull/19558#issuecomment -594461263

@mrpmorris Harap perhatikan bahwa petunjuk tersebut hanya berlaku untuk versi 3.2.0-preview2 terbaru kami dan peningkatan dari 3.2.0-preview1 akan membutuhkan sedikit pekerjaan menggunakan langkah-langkah yang belum kami publikasikan. Anda mungkin ingin menunggu sampai kami merilisnya akhir bulan ini.

@danroth27 Saya rasa Anda belum mempublikasikan preview2... :)

Anda dapat mencoba ini dengan build malam mengikuti petunjuk di sini jika Anda mau.

Saya akan merekomendasikan Anda menghapus cache paket nuget Anda sebelum dan sesudah jika Anda memilih untuk melakukannya. Mempertimbangkan bahwa menghapus cache akan memengaruhi seluruh mesin (semua aplikasi di mesin itu)

Saya akan menunggu build p2 dirilis dan kemudian mencobanya. Terima kasih!

@mrpmorris 3.2 Pratinjau 2 sekarang tersedia! Apakah langkah-langkah yang disarankan di https://github.com/dotnet/aspnetcore/pull/19558#issuecomment -594461263 untuk mengganti nama file berfungsi untuk Anda?

Halo teman-teman!

Dalam rilis Blazor WebAssembly 3.2 Preview 2 baru-baru ini, kami membuat beberapa perubahan untuk mempermudah penggantian nama file .dll di aplikasi Anda sebagai cara untuk mengatasi proxy/firewalls/perangkat lunak antivirus yang mengganggu aplikasi Blazor WebAssembly. Kami ingin orang-orang yang mengalami masalah ini untuk mencoba langkah-langkah di bawah ini pada keluaran yang diterbitkan dari aplikasi Blazor WebAssembly Anda (mandiri atau ASP.NET Core dihosting) dan lihat apakah itu membantu:

jendela

  • Buka prompt PowerShell di direktori wwwroot dari keluaran Anda yang diterbitkan (misalnya, di yourapp\bin\Release\netstandard2.1\publish\wwwroot
  • Jalankan dua baris berikut:
dir .\_framework\_bin | rename-item -NewName { $_.name -replace ".dll\b",".bin" }
((Get-Content .\_framework\blazor.boot.json -Raw) -replace '.dll"','.bin"') | Set-Content .\_framework\blazor.boot.json

Linux / macOS

  • Buka terminal di direktori wwwroot dari keluaran yang Anda terbitkan (misalnya, di yourapp/bin/Release/netstandard2.1/publish/wwwroot
  • Jalankan dua baris berikut:
for f in _framework/_bin/*; do mv "$f" "`echo $f | sed -e 's/\.dll\b/.bin/g'`"; done
sed -i 's/\.dll"/.bin"/g' _framework/blazor.boot.json

Silakan coba langkah-langkah ini dan beri tahu kami bagaimana kelanjutannya. Jika Anda masih mengalami masalah, beri tahu kami! Kami memiliki beberapa ide lain untuk dicoba jika perlu.

Terima kasih!

Itu berhasil untuk saya. Meskipun saya harus menyesuaikan langkah publikasi saya di Azure DevOps dan menonaktifkannya sehingga menghasilkan zip di akhir.

Dalam kasus saya:

- task: DotNetCoreCLI<strong i="7">@2</strong>
  displayName: 'dotnet publish'
  inputs:
    command: 'publish'
    publishWebProjects: false
    zipAfterPublish: false
    projects: |
      **/ApplySupportTool.Server.csproj
    arguments: '--configuration $(buildconfiguration)  --output $(Build.ArtifactStagingDirectory)'

- task: PowerShell<strong i="8">@2</strong>
  displayName: Change Outputname
  inputs:
    targetType: 'inline'
    workingDirectory: $(Build.ArtifactStagingDirectory)\ApplySupportTool.Server\wwwroot
    script: |
         dir .\_framework\_bin | rename-item -NewName { $_.name -replace ".dll\b",".bin" }
         ((Get-Content .\_framework\blazor.boot.json -Raw) -replace '.dll"','.bin"') | Set-Content .\_framework\blazor.boot.json

@NPadrutt Berhasil dalam arti apa? Dalam arti bahwa Anda secara meyakinkan mengamati situs Anda tidak berfungsi sebelumnya (karena semacam antivirus atau firewall), dan perubahan URL memperbaikinya? Jika demikian, bisakah Anda memposting detail tentang antivirus/firewall/etc apa yang menyebabkan masalah bagi Anda sebelumnya di https://github.com/dotnet/aspnetcore/issues/19552? Terima kasih!

@SteveSandersonMS baik, saya sebelumnya telah menyelesaikannya melalui penulis ulang di tempat. Setelah upgrade ke 3.2 preview 2 yang satu tidak bekerja lagi dan aplikasi diblokir lagi. Dengan di atas itu berfungsi lagi.

Sayangnya saya tidak dapat memberi tahu Anda firewall apa yang kami miliki di jaringan kami dan saya tidak berpikir bahwa AntiVirus (McAffee) berdampak di sini, karena bekerja secara lokal bekerja tanpa masalah.

Seseorang di kantor saya dinyatakan positif COVID-19, jadi sepertinya kantor saya akan tutup selama beberapa minggu - yang berarti saya tidak akan mengakses file melalui firewall mereka. Maaf.

@mrpmorris Tidak masalah. Jaga keselamatan!

Halo teman-teman!

Dalam rilis Blazor WebAssembly 3.2 Preview 2 baru-baru ini, kami membuat beberapa perubahan untuk mempermudah penggantian nama file .dll di aplikasi Anda sebagai cara untuk mengatasi proxy/firewalls/perangkat lunak antivirus yang mengganggu aplikasi Blazor WebAssembly. Kami ingin orang-orang yang mengalami masalah ini untuk mencoba langkah-langkah di bawah ini pada _output yang diterbitkan_ dari aplikasi Blazor WebAssembly Anda (mandiri atau ASP.NET Core dihosting) dan lihat apakah itu membantu:

@danroth27

Saya menjalankan skrip (saya mengembangkan di Windows, tetapi saya menyebarkan dari lingkungan Linux ke lingkungan Linux lain, jadi saya menggunakan skrip Linux yang disediakan) dan itu digunakan dengan nama baru, dan ketika memuat halaman tampaknya memuat file dengan ekstensi baru baik-baik saja, dan aplikasi berfungsi. Dalam kasus kami, Avast tidak lagi menandai aplikasi dan tidak lagi memblokir unduhan.

Karena situasi pandemi, perlu sedikit waktu sebelum kami memeriksa situasi firewall perusahaan.

Ini adalah langkah yang cukup sederhana untuk ditambahkan ke build dan tampaknya tidak memiliki kerugian, jadi kita akan mulai menggunakannya.

Terima kasih!

@ danroth27 apakah ini akan menjadi default di beberapa titik sehingga kita tidak perlu melakukan langkah ini? Apakah benar-benar ada alasan untuk tidak hanya pindah ke .bin atau tidak ada tipe file sebagai default alih-alih mengharuskan semua orang melakukan ini jika ada masalah umum dengan tipe file .dll?

Apakah ada kemungkinan pemeriksa virus akan memeriksa file meskipun bukan ".dll" untuk melihat apakah itu file dll?

@danroth27 @SteveSandersonMS
Saya mendapat banyak kesalahan di konsol browser terkait dengan kegagalan integritas atau file tidak ditemukan:

_framework/_bin/Blazored.LocalStorage.dll:1 Failed to load resource: the server responded with a status of 404 ()
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
Failed to find a valid digest in the 'integrity' attribute for resource '<URL>' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked.
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/BlazorStrap.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.AspNetCore.Blazor.HttpClient.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.AspNetCore.Components.dll:1 Failed to load resource: the server responded with a status of 404 ()
_framework/_bin/Microsoft.AspNetCore.Components.Authorization.dll:1 Failed to load resource: the server responded with a status of 404 ()
_framework/_bin/Microsoft.AspNetCore.Components.WebAssembly.Authentication.dll:1 Failed to load resource: the server responded with a status of 404 ()
_framework/_bin/Microsoft.AspNetCore.Authorization.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.AspNetCore.Components.Web.dll:1 Failed to load resource: the server responded with a status of 404 ()
_framework/_bin/Microsoft.AspNetCore.Components.Forms.dll:1 Failed to load resource: the server responded with a status of 404 ()
_framework/_bin/Microsoft.AspNetCore.Components.WebAssembly.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
admin:1 Unknown error occurred while trying to verify integrity.
admin:1 Unknown error occurred while trying to verify integrity.
admin:1 Unknown error occurred while trying to verify integrity.
admin:1 Unknown error occurred while trying to verify integrity.
admin:1 Unknown error occurred while trying to verify integrity.
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
blazor.webassembly.js:1 Error: Failed to start platform. Reason: TypeError: Failed to fetch
    at blazor.webassembly.js:1
    at blazor.webassembly.js:1
    at Object.throw (blazor.webassembly.js:1)
    at u (blazor.webassembly.js:1)
d.printErr @ blazor.webassembly.js:1
_framework/_bin/Microsoft.AspNetCore.Metadata.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Bcl.HashCode.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.CSharp.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.EntityFrameworkCore.Abstractions.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Caching.Abstractions.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.EntityFrameworkCore.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.EntityFrameworkCore.Relational.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Caching.Memory.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Configuration.Abstractions.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Configuration.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Configuration.Json.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.DependencyInjection.Abstractions.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.DependencyInjection.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Identity.Core.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Identity.Stores.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Logging.Abstractions.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Logging.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Options.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.Extensions.Primitives.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Microsoft.JSInterop.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Mono.Security.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/MovingPicturesEvents.Core.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/MovingPicturesEvents.Services.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/mscorlib.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/MovingPicturesEvents.Web.Client.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/netstandard.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/Radzen.Blazor.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Collections.Immutable.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.ComponentModel.DataAnnotations.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Core.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Data.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Diagnostics.DiagnosticSource.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Linq.Dynamic.Core.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Net.Http.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Net.Http.Json.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Numerics.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Runtime.CompilerServices.Unsafe.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Text.Encodings.Web.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Text.Json.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Transactions.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Xml.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/System.Xml.Linq.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/WebAssembly.Bindings.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.
_framework/_bin/WebAssembly.Net.Http.dll:1 Failed to load resource: the server responded with a status of 404 ()
admin:1 Unknown error occurred while trying to verify integrity.

Saya mencoba langkah-langkah @ danroth27 yang disebutkan di Windows dan di wadah Linux Docker dengan hasil yang sama.

Menggunakan 3.2 Pratinjau 4.

@radderz Masalah ini tampaknya tidak memengaruhi semua lingkungan - khusus untuk lingkungan tertentu dan sering kali berbasis kebijakan. Jika kami beralih ke ekstensi file yang berbeda, tidak ada jaminan bahwa ini akan berhasil untuk semua orang. Jadi, alih-alih mengubah default untuk semua orang, kami melanjutkan dengan rencana di mana pelanggan yang mengalami masalah ini dapat mengontrol ekstensi file sendiri menggunakan teknik yang disediakan di atas.

Sangat mungkin bahwa perangkat lunak antivirus/proksi/firewall dapat melakukan pemeriksaan file lebih dalam daripada hanya melihat ekstensi file. Sejauh ini kami belum pernah mendengar ada orang yang diblokir oleh ini. Jika ini menjadi masalah, kami akan melakukan mitigasi lainnya.

@mihaimyh Sepertinya Anda mungkin memiliki kebijakan keamanan konten yang salah dikonfigurasi?

@mihaimyh Sepertinya Anda mungkin memiliki kebijakan keamanan konten yang salah dikonfigurasi?

@danroth27 Bisakah Anda lebih eksplisit? Kebijakan keamanan apa yang Anda bicarakan? Saya mendapatkan kesalahan itu bahkan di lingkungan pengembang di mana saya yakin tidak ada kebijakan keamanan yang diterapkan.

@mihaimyh Maaf, saya pikir saya mencampuradukkan kebijakan keamanan konten dengan integritas subsumber daya . Sepertinya browser mencoba menerapkan bahwa hash dari aset yang diunduh cocok dengan hash yang ditentukan dalam markup melalui atribut integrity , tetapi atribut integrity tidak ada. Ini juga bisa terkait dengan cara Blazor mengunduh dan menyimpan sumber daya aplikasi, yang menggunakan strategi berbasis hash serupa untuk memverifikasi apakah file telah berubah.

@mihaimyh Maaf, saya pikir saya mencampuradukkan kebijakan keamanan konten dengan integritas subsumber daya . Sepertinya browser mencoba menerapkan bahwa hash dari aset yang diunduh cocok dengan hash yang ditentukan dalam markup melalui atribut integrity , tetapi atribut integrity tidak ada. Ini juga bisa terkait dengan cara Blazor mengunduh dan menyimpan sumber daya aplikasi, yang menggunakan strategi berbasis hash serupa untuk memverifikasi apakah file telah berubah.

@ danroth27 Oke, dan saya yakin saya bisa melewati pemeriksaan integritas dengan menambahkan

<BlazorCacheBootResources>false</BlazorCacheBootResources>

ke file .csproj saya tetapi saya masih mendapatkan 404 acara dengan pemeriksaan integritas dinonaktifkan.

@mihaimyh Jika Anda dapat mereproduksi ini dengan andal, saya sarankan membuka masalah baru untuk masalah ini, karena tampaknya tidak terkait dengan masalah ekstensi file. Itu akan membuatnya lebih mudah untuk melibatkan orang yang tepat.

Pastikan Anda menambahkan sesuatu seperti ini di skrip "dll rename" Anda

# Remove compressed versions of blazor.boot.json because it still looks for .dll files
Remove-Item ".\_framework\blazor.boot.json.gz"
Remove-Item ".\_framework\blazor.boot.json.br"

Sebagian besar waktu blazor.boot.json yang dikompresi akan diunduh alih-alih blazor.boot.json "diperbaiki" yang membuat permintaan ke file ".dll" alih-alih file ".bin" yang menyebabkan masalah integritas.

Jadi, Anda harus menghapus file json terkompresi atau mengompresi ulang blazor.boot.json tapi saya rasa tidak ada gunanya melewati kerumitan itu.

Semoga suatu hari ini semua bisa ditangani oleh kerangka kerja dengan bendera di csproj, mis

<BlazorBinariesExtension>.bin</BlazorBinariesExtension>

Hai teman-teman. Pada titik ini kami telah mendokumentasikan strategi yang kami sarankan untuk mengubah ekstensi file untuk rakitan .NET yang diterbitkan menggunakan skrip. Saya pikir saran @stavroskasidis masih bagus untuk menyediakan cara bawaan yang sederhana untuk melakukan ini, jadi saya membuka https://github.com/dotnet/aspnetcore/issues/21489 untuk melacak saran. Pada titik ini saya pikir kami siap untuk menutup masalah ini. Terima kasih semuanya atas umpan balik terperinci yang diberikan!

Dari apa yang saya lihat, penggantian nama dari .dll ke .bin harus dilakukan juga di wwwroot/service-worker-assets.js dan menghapus atau mengompres ulang wwwroot/service-worker-assets.js.br dan wwwroot/service-worker-assets.js.gz , jika tidak, ada masalah integritas di konsol browser.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat