mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-16 10:15:05 +00:00
fix(database): enforce credential format validation and sanitize init/SSL arguments
Add ValidationPatterns helpers for database identifiers and passwords, apply them across database Livewire components and the API controller, encode MongoDB init script values via json_encode, and pass the MySQL user through escapeshellarg when generating SSL chown commands.
This commit is contained in:
1 parent
2264a2ef76
commit
03313e54cc
14 files changed
+502
-82
No files matched your search
@@ -76,10 +76,10 @@ class General extends Component
|
||||
return [
|
||||
'name' => ValidationPatterns::nameRules(),
|
||||
'description' => ValidationPatterns::descriptionRules(),
|
||||
'mysqlRootPassword' => 'required',
|
||||
'mysqlUser' => 'required',
|
||||
'mysqlPassword' => 'required',
|
||||
'mysqlDatabase' => 'required',
|
||||
'mysqlRootPassword' => ValidationPatterns::databasePasswordRules(),
|
||||
'mysqlUser' => ValidationPatterns::databaseIdentifierRules(),
|
||||
'mysqlPassword' => ValidationPatterns::databasePasswordRules(),
|
||||
'mysqlDatabase' => ValidationPatterns::databaseIdentifierRules(),
|
||||
'mysqlConf' => 'nullable',
|
||||
'image' => 'required',
|
||||
'portsMappings' => ValidationPatterns::portMappingRules(),
|
||||
@@ -100,10 +100,10 @@ class General extends Component
|
||||
ValidationPatterns::portMappingMessages(),
|
||||
[
|
||||
'name.required' => 'The Name field is required.',
|
||||
'mysqlRootPassword.required' => 'The Root Password field is required.',
|
||||
'mysqlUser.required' => 'The MySQL User field is required.',
|
||||
'mysqlPassword.required' => 'The MySQL Password field is required.',
|
||||
'mysqlDatabase.required' => 'The MySQL Database field is required.',
|
||||
...ValidationPatterns::databasePasswordMessages('mysqlRootPassword', 'Root Password'),
|
||||
...ValidationPatterns::databaseIdentifierMessages('mysqlUser', 'MySQL User'),
|
||||
...ValidationPatterns::databasePasswordMessages('mysqlPassword', 'MySQL Password'),
|
||||
...ValidationPatterns::databaseIdentifierMessages('mysqlDatabase', 'MySQL Database'),
|
||||
'image.required' => 'The Docker Image field is required.',
|
||||
'publicPort.integer' => 'The Public Port must be an integer.',
|
||||
'publicPort.min' => 'The Public Port must be at least 1.',
|
||||
|
||||
Reference in new issue
Block a user