Blazor - 将 SQL 连接 类 放入共享项目是否安全

Blazor - Is it safe to put SQL connection classes in Shared project

我在服务器项目中为我的 Blazor 应用编写了 SQL 连接 类,但我无法从客户端项目访问它们。

将包含连接字符串的所有 SQL 连接文件放在共享项目中是否安全?

谢谢

如果你放入服务器端 Blazor 可能没问题。对于 Wasm 绝对不是。


通常不要以硬编码字符串的形式将任何秘密放入代码中。如果在开发环境中将 appsettings.json 与 VS 的秘密管理器一起使用,可能会更安全。对于其他环境。我会使用环境变量或秘密 manager/key 保险库。

如果您使用的是 Blazor 服务器端,则可以安全地将机密存储在 C# 代码中,因为这不会传输到浏览器,如 Blazor documentation:

中所述

The app's .NET/C# code base, including the app's component code, isn't served to clients.

但是,最好将它放在 appsettings.json 或类似文件中并查找值。

需要明确的是,如果您使用的是 Blazor 客户端,则永远不要这样做,或者在代码中保留任何秘密,因为整个代码库在客户端上都是可读的。

我对客户端没有任何建议,但 this thread 中有一些可能的答案。