Blazor Dlls - 用户可以访问它们并反编译吗?

NRW*_*NRW 9 blazor blazor-server-side blazor-client-side

如果我在 Blazor 中遗漏了一些明显的内容,请原谅我,但是由于 dll 像 javascript 文件一样存在于浏览器中,用户是否可以下载 dll 文件并通过反编译文件和/或运行它们来查看执行代码在浏览器之外?

如果开发人员没有意识到他们的库代码像他们的 javascript 代码一样可见,这似乎会带来一个非常明显的安全问题。

Leo*_*rdo 5

当然可以,这些 DLL 只是由 Web 服务器提供服务的静态文件。我建议阅读这篇关于浏览器如何运行这些 DLL 的优秀博客文章

在解释模式下,Mono 运行时本身会编译为 WebAssembly,但 .NET 程序集文件不会。然后,浏览器可以加载并执行 Mono 运行时,而 Mono 运行时又可以加载并执行由普通 .NET 编译工具链构建的标准 .NET 程序集(常规 .NET .dll 文件)。

如果您不希望用户(轻松)对您的代码进行逆向工程,那么答案就是代码混淆。Blazor不打算提供此类功能,任何标准 .NET 混淆器都应该可以工作。我自己没有尝试过,但我确信这将是一条崎岖的道路。