私は次のことをしました...
private static IDbConnectionProvider CreateSqlConnectionProvider(DbConfig dbConfig)
{
return new QcDbConnectionProvider(() =>
{
SqlConnectionStringBuilder csBuilder = new SqlConnectionStringBuilder();
if (!string.IsNullOrEmpty(dbConfig.DataSource))
csBuilder.DataSource = dbConfig.DataSource;
if (!string.IsNullOrEmpty(dbConfig.Database))
csBuilder.InitialCatalog = dbConfig.Database;
.
.
.
.
return new SqlConnection(csBuilder.ConnectionString);
});
}
クライアントはコード分析を行うためにVERACODEツールを使用しており、VERACODEは「信頼されていない初期化」の欠陥を検出しました
return new SqlConnection(csBuilder.ConnectionString);
また、dbConfig
以下に示すように初期化されています...
DbConfig configDbConfig = new DbConfig
{
Database = codeFile.ConfigurationDb,
DataSource = codeFile.DataSource,
IntegratedSecurity = sqlCredentials.UseWindowsAuthentication ? 1 : 0,
UserId = sqlCredentials.UseWindowsAuthentication ? null : sqlCredentials.SqlUserName,
ClearTextPassword = sqlCredentials.UseWindowsAuthentication ? null : sqlCredentials.SqlUserPassword
};
この欠陥を修正するには、他に何をする必要がありますか? また、このリンクに従って、接続文字列をSqlConnectionStringBuilder
安全に作成できる を使用して接続文字列を作成しています。
前もって感謝します...