如果我通过反复试验决定 DbConnection class 是否安全?

Is it safe if I decide the DbConnection class by trial and error?

假设我有一个连接字符串(实际上它将是一个用户条目)。我想使用这个字符串创建一个合适的 DbConnection class。它可以是 SqlConnection、OleDbConnection 或 OracleConnection(将来可能是另一个)。

如果我按照以下程序操作是否安全?

对于每个可能的连接 class,我将创建它,然后打开和关闭连接。

这是不安全的,因为你给了攻击者一次暴力破解所有数据库连接的可能性。

我觉得这是个坏主意,尤其是因为您没有具体说明您希望其中一个失败的原因以及使用下一个连接的原因。如果它是一个有效的 SQL 连接字符串,但数据库根本无法访问怎么办?那时尝试连接到 Oracle 数据库根本没有任何意义。

更好的方法是让他们 select 提供者类型,然后给用户一个表单,其中只包含允许他们更改的连接字符串属性(经过适当的验证)。