मैं डेटाबेस कनेक्शन प्रारंभ करने के लिए निम्न कोड का उपयोग कर रहा:FindBugs और डेटाबेस पासवर्ड सुरक्षा समस्या
public Connection getConnection() {
try {
if (null == connection) {
String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
Class.forName(driverName);
// Create a connection to the database
String serverName = "localhost";
String database = "database";
String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
String username = "username";
String password = "password";
connection = DriverManager.getConnection(url, username, password);
}
return connection;
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
throw new NullPointerException("Cannot establish database connection...");
}
और मैं जानता हूँ कि यह बुरा व्यवहार है यह करने के लिए, यह भी मैं कोड के खिलाफ FindBugs
भाग गया, और सुरक्षा मिल गया निम्नलिखित कहने का मुद्दा: This code creates a database connect using a hardcoded, constant password. Anyone with access to either the source code or the compiled code can easily learn the password.
इस सुरक्षा उल्लंघन के बिना डेटाबेस कनेक्शन प्रारंभ करने का सबसे अच्छा तरीका क्या है?
यदि आपके पास आपकी कंपनी में एक से अधिक डेवलपर हैं तो यह वास्तव में एक मुद्दा है। ** उत्पादन ** पासवर्ड ** सुरक्षित वातावरण के लिए सभी डेवलपर्स को ** उपलब्ध नहीं होना चाहिए। स्रोत कोड आमतौर पर एकाधिक सिस्टम पर फैलता है: एससीएम, सीआई, डेस्कटॉप कंप्यूटर, आदि अन्य उत्तरों देखें। – h3xStream
@ h3xStream बिल्कुल सही है। यह पोस्ट बहुत पुरानी है, मुझे माफ़ कर दो। – rook
मैं एक संपादन के लिए पूछने जा रहा था .. और फिर देखा कि आपने पहले से ही किया है। +1 – h3xStream