extended input validation

This commit is contained in:
2025-11-03 17:05:54 +01:00
parent 129625b089
commit a3b31e24d5

View File

@@ -119,6 +119,20 @@ if [[ ! "$hostname" =~ ^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$ ]]; then
exit 1 exit 1
fi fi
# Prevent accidental overwrite of existing Nginx config
if [[ -f "/etc/nginx/conf.d/${hostname}.conf" ]]; then
printf "\nERROR: A configuration file already exists for %s.\n" "$hostname"
printf "Refusing to overwrite existing site.\n\n"
exit 1
fi
# Check for existing references in other Nginx configs
hostcheck=$(grep -r --exclude="README.md" "$hostname" /etc/nginx/ 2>/dev/null || true)
if [[ -n "$hostcheck" ]]; then
printf "\nFound existing configuration mentioning %s — aborting to avoid collision.\n\n" "$hostname"
exit 1
fi
# Check for spaces in DB credentials # Check for spaces in DB credentials
if [[ "$dbpass" =~ [[:space:]] ]]; then if [[ "$dbpass" =~ [[:space:]] ]]; then
printf "\nERROR: Database password cannot contain spaces.\n\n" printf "\nERROR: Database password cannot contain spaces.\n\n"