diff options
author | msquare <msquare@notrademark.de> | 2019-04-28 14:34:04 +0200 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2019-04-28 14:39:49 +0200 |
commit | 4f1cef546e2bd1ff21ed1031c46599010ee9033a (patch) | |
tree | 750f4b33647b3c60fe8534ab0b18d81ef66fe6a5 /includes/model | |
parent | 819677c9025471c8951ead7905bcde2e3ed635c5 (diff) |
better nick validation, fixes #429
Diffstat (limited to 'includes/model')
-rw-r--r-- | includes/model/User_model.php | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/includes/model/User_model.php b/includes/model/User_model.php index d47b2915..a928d895 100644 --- a/includes/model/User_model.php +++ b/includes/model/User_model.php @@ -112,11 +112,20 @@ function Users_by_angeltype($angeltype) * Nick is trimmed. * * @param string $nick - * @return string + * @return ValidationResult */ function User_validate_Nick($nick) { - return preg_replace('/([^\p{L}\p{N}\-_. ]+)/ui', '', trim($nick)); + $nick = trim($nick); + + if(strlen($nick) == 0 || strlen($nick) > 23) { + return new ValidationResult(false, $nick); + } + if(preg_match('/([^\p{L}\p{N}\-_. ]+)/ui', $nick)) { + return new ValidationResult(false, $nick); + } + + return new ValidationResult(true, $nick); } /** |