Wie können Sie die Datenbank und andere Service-Passwörter aus Ihrem Code entfernen? Ich habe gelesen über die Verwendung pro Server-Eigenschaften-Dateien, aber wenn Sie eine große Anzahl von Servern haben, wird es schwer zu pflegen. Ich habe auch eine Lösung gesehen, die den CI-Build-Prozess verwendet, um Passwörter zu "injizieren", aber das macht es schwierig, das Passwort im laufenden Betrieb zu aktualisieren.
Einige Voraussetzungen, um das Feld der Antworten einzuschränken ...
Einige nützliche Dinge beinhalten nicht einen einzigen Fehlerpunkt, eine schnelle Entwicklungszeit und sind einfach zu verstehen.
Dies ist ähnlich wie diese Frage , aber mit einer starken Betonung auf Wartbarkeit und konzentriert sich mehr auf die Server-Seite.
Sie können es in Klartext in einer Datei in einem geschützten Verzeichnis speichern, das nur von dem Konto gelesen werden kann, in dem die Anwendung ausgeführt wird. Im Falle einer Web-Anwendung sollten Sie das Passwort immer außerhalb des Web-Stammordners speichern.
Wenn Sie einen Datenbankverbindungspool verwenden, werden der Benutzername, das Kennwort und andere Datenbankdetails in der Regel im Java Web Container verwaltet und dem Java-Code als Datenquelle angezeigt. Sie fragen einfach nach einer Datenbankverbindung, ohne dass Sie diese Details kennen müssen.
Wie wäre es mit der Verschlüsselung, abgesehen davon, dass Sie sie in einer Textdatei außerhalb des Web-Stammverzeichnisses speichern? Bei den meisten Sprachen ist es ziemlich trivial, eine Verschlüsselungsmethode zu verwenden. Obwohl dies nicht unbedingt notwendig ist, um vor Angriffen aus dem Internet zu schützen, wird es für andere Personen schwieriger, Zugriff auf die Datei auf Ihrem System zu erhalten. Ein bisschen Verschleierung, die Datei als etwas anderes mit einem langweiligen Namen zu tarnen, der wahrscheinlich übersehen wird, macht es weniger wahrscheinlich, dass jemand sie finden wird, selbst wenn sie physischen Zugriff auf den Server haben.
Tags und Links java security password-protection