diff --git a/charts/incubator/spotweb/questions.yaml b/charts/incubator/spotweb/questions.yaml index 777f01abfc4..0cadd23ca75 100644 --- a/charts/incubator/spotweb/questions.yaml +++ b/charts/incubator/spotweb/questions.yaml @@ -84,7 +84,8 @@ questions: description: "Username to configure for the admin of this installation." schema: type: string - default: "admin" + default: "myawesomeuser" + valid_chars: ^((?!god|mod|spot|admin|drazix|superuser|supervisor|root|anonymous)[^<>])*$ required: true - variable: SPOTWEB_PASSWORD label: "Admin password" @@ -123,6 +124,7 @@ questions: type: string required: true default: "firstname" + valid_chars: ^([^<>]{2})([^<>]*)$ - variable: SPOTWEB_LASTNAME label: "Admin last name" description: "Last name of the admin user." @@ -130,6 +132,7 @@ questions: type: string required: true default: "lastname" + valid_chars: ^([^<>]{2})([^<>]*)$ - variable: SPOTWEB_MAIL label: "Admin mail adres" description: "Email adres to configure for the provided admin user." @@ -137,6 +140,7 @@ questions: type: string required: true default: firstname@lastname.com + valid_chars: ^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$ - variable: SPOTWEB_RETRIEVE label: "SPOTWEB_RETRIEVE" description: "Schedule on which to automatically retrieve new spots." diff --git a/docs/apps/incubator/spotweb/validation.md b/docs/apps/incubator/spotweb/validation.md new file mode 100644 index 00000000000..ae9caf01052 --- /dev/null +++ b/docs/apps/incubator/spotweb/validation.md @@ -0,0 +1,42 @@ +# Input Validation + +## Admin Username + +Usernames for an administrator in spotweb have some restrictions. + +* Following words are not allowed: + * god + * mod + * spot + * admin + * drazix + * superuser + * supervisor + * root + * anonymous +* Following characters are not allowed: + * < + * \> +* Regex used to validate the username (you can try live [here](https://regex101.com/r/LA4Io7/1)): + `^((?!god|mod|spot|admin|drazix|superuser|supervisor|root|anonymous)[^<>])*$` + +## Admin Firstname and Lastname + +The firstname and lastname in spotweb have some restrictions. + +* Following characters are not allowed: + * < + * \> +* Minimum lenght of 2 characters is enforced +* Regex used to validate the firstname and lastname (you can try live [here](https://regex101.com/r/x2KGnU/1)): + `^([^<>]{2})([^<>]*)$` + +## Admin Email + +The email addres is validated in spotweb using the built-in `_FILTER_VALIDATE_EMAIL`. + +* Regex used to validate the email (you can try live [here](https://regex101.com/r/yEmCoL/1)): + ```^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$``` + +--- +If you find a field that you think it needs validation, please open an issue on github