From de0ae47a734895127394b2278a44cab06604d027 Mon Sep 17 00:00:00 2001 From: allan Date: Mon, 3 Nov 2025 17:02:54 +0100 Subject: [PATCH] extended input validation --- dokuwikiinstall | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dokuwikiinstall b/dokuwikiinstall index 5e00733..0dbbf9a 100755 --- a/dokuwikiinstall +++ b/dokuwikiinstall @@ -70,6 +70,20 @@ if [[ ! "$hostname" =~ ^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$ ]]; then exit 1 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 + # # Let's go #