diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-08-28 14:47:26 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-08-28 14:47:26 +0200 |
| commit | f1892179491d68ad0b72913bc7c1b682e81afa2a (patch) | |
| tree | 57041484ba9d803c2d664dca88b12e7629876f40 | |
| parent | 7541f9f06753161179dfdd635ed48f66cb0b76f6 (diff) | |
| download | jokevote-f1892179491d68ad0b72913bc7c1b682e81afa2a.tar.gz jokevote-f1892179491d68ad0b72913bc7c1b682e81afa2a.zip | |
validate usernames
| -rw-r--r-- | app.py | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -384,12 +384,16 @@ class DBProxy(object): return 1-j['freshness'] if sortby == 'score': return j['score'] - return (j['score']+1)/pow(j['freshness']+1, 1.8) # 'rank' or invalid + # 'rank' or invalid + return (j['score']+1)/pow(j['freshness']+1, 1.8) ret_jokes = sorted(ret_jokes, key=sorter, reverse=True) return ret_jokes def add_user(self, name, password): + # allow words combined by '.', '-', ' ' + if re.match(r"^\w+(([. -])?\w+)*$", name) is None or len(name) < 3: + return -3 # invalid username if self.get_user(name=name) != -2: return -1 # already registered password = password.encode('utf-8') @@ -419,6 +423,10 @@ class DBProxy(object): uid = self.c.lastrowid else: if name is not None: + # validate username, see add_user + if re.match(r"^\w+(([. -])?\w+)*$", name) is None or len(name) < 3: + return -3 # invalid username + user = self.c.execute("SELECT id FROM " + self.prefix + "_users WHERE identifier=?", (name,)).fetchone() @@ -618,6 +626,8 @@ def login(): flash('Erfolgreich registriert.') res = db().get_user(name=name, password=passw) + if res == -3: + flash('Benutzername ungültig.') if res == -2: flash('Benutzer existiert nicht.') if res == -1: |
