Security: Do not expose database password to the client during upgrade #691
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
The database password field in the installer is now rendered as a password input instead of a plain text field.
When loading existing database settings, the current database password is no longer written into the form via JavaScript. The field remains empty and, if a password already exists, shows a placeholder hint instead.
The database password in
config.phpis only updated when a non-empty value is provided, preventing accidental overwrites or clearing of an existing password.Motivation
During upgrades of existing installations, the database password was previously sent to the client and could be accessed through the HTML or JavaScript source. This unnecessarily exposed sensitive credentials on the client side.
This change ensures that the existing database password remains server-side and is reused for connectivity checks without ever being transferred to the client.