मैं एक बिल्कुल नया डेवलपर हूं और वर्तमान में एक सी # प्रोग्राम पर काम कर रहा हूं जो निम्न कोड के साथ एक MYSQL सर्वर से जुड़ता है:

    class MySql
{
    private MySqlConnection connection;
    private string server;
    private string database;
    private string uid;
    private string password;

    //Constructor
    public MySql()
    {
        Initialize();
    }

    //Initialize values
    private void Initialize()
    {
        server = "mydomain.com";
        database = "dbName";
        uid = "Username";
        password = "Password";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" +
        database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

    //open connection to database
    private bool OpenConnection()
    {
        try
        {
            connection.Open();
            return true;
        }
        catch (MySqlException ex)
        {
            //When handling errors, you can your application's response based 
            //on the error number.
            //The two most common error numbers when connecting are as follows:
            //0: Cannot connect to server.
            //1045: Invalid user name and/or password.
            switch (ex.Number)
            {
                case 0:
                    MessageBox.Show("Cannot connect to server.  Contact administrator");
                    break;

                case 1045:
                    MessageBox.Show("Invalid username/password, please try again");
                    break;
            }
            return false;
        }
    }

    //Close connection
    private bool CloseConnection()
    {
        try
        {
            connection.Close();
            return true;
        }
        catch (MySqlException ex)
        {
            MessageBox.Show(ex.Message);
            return false;
        }
    }

अब मुझे पूरा यकीन नहीं है कि सर्वर लॉगिन को सुरक्षित रूप से कैसे सहेजा जाए। जैसा कि आप देख रहे हैं, मेरे कोड में, डोमेन, उपयोगकर्ता नाम और पासवर्ड कोड में खुले तौर पर हैं।

और जहां तक ​​मैं जानता हूं, ऐसा नहीं होना चाहिए।

मैं इसे कैसे ठीक कर सकता हूं? या इसे ऐसे ही स्टोर करना सेव है? धन्यवाद!

1
Timothy Lukas H. 1 नवम्बर 2018, 22:27

1 उत्तर

सबसे बढ़िया उत्तर

.NET में, कनेक्शन स्ट्रिंग्स को सामान्य रूप से एप्लिकेशन के लिए .config फ़ाइल में संग्रहीत किया जाता है (एएसपी.नेट के लिए वेब.कॉन्फ़िगरेशन, डेस्कटॉप के लिए ऐप.कॉन्फ़िगरेशन)। कॉन्फ़िगरेशन फ़ाइल में MySQL कनेक्शन स्ट्रिंग का एक उदाहरण कुछ ऐसा दिखाई देगा:

<connectionStrings>  
  <add name="MySqlConnectionString"
   providerName="MySql.Data.MySqlClient"
   connectionString="server=127.0.0.1;uid=root;password=bpdash;database=sample" />
</connectionStrings>

फिर कॉन्फ़िगरेशन फ़ाइल के उस अनुभाग को एन्क्रिप्ट करने के समर्थित तरीके हैं। कनेक्शन स्ट्रिंग्स का उपयोग करने और उन्हें एन्क्रिप्ट करने दोनों पर इस Microsoft आलेख में चर्चा की गई है: कनेक्शन स्ट्रिंग्स और कॉन्फ़िगरेशन फ़ाइलें

1
Gabriel Luci 1 नवम्बर 2018, 19:44