WPF中用于连接字符串的安全文本输入

问题描述 投票:0回答:1

我有一个WPF应用程序,可以与SQL Server建立连接以检索数据。

如果用户不使用集成安全性,则可以在TextBox中写入服务器的名称以及用户名和密码。连接字符串是使用输入构建的:

    public string GetConnectionString(string name, string server, bool isWindowsAuth = false, string user = null, string password = null)
    {
        string connectionMode = "";
        if(isWindowsAuth == true)
            connectionMode = "Integrated Security=True";
        else
            connectionMode = string.Format("User Id = {0}; Password = {1}; ", user, password);

        return string.Format(ConfigurationManager.ConnectionStrings[name].ConnectionString, server, connectionMode);
    }

我在学习安全性方面是新手,我正在寻找一种适当的方法来保护安全性,因为我没有检查用户输入的服务器名称和凭据,而且我想知道安全性会如何发生? XSS是可能的,或者类似的事情。

连接字符串加密不是我要指的或搜索的。

谢谢。

c# wpf security connection-string
1个回答
0
投票

因为您没有将该用户输入放入数据库查询(易受sql注入)或直接放回浏览器(易受跨站点脚本的影响,因为他可以输入实际的javascript或html代码),我认为没有是安全隐患。如果用户放入了无效的凭据,则数据库连接应该根本不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.