diff --git a/files/routes/admin.py b/files/routes/admin.py index 8b8ccd156..067c427b3 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -26,6 +26,26 @@ from files.routes.routehelpers import get_alt_graph, get_alt_graph_ids from .front import frontlist, comment_idlist + +@app.get('/admin/mass_css_validation') +@limiter.limit(DEFAULT_RATELIMIT) +@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) +@admin_level_required(5) +def mass_css_validation(v): + users = g.db.query(User).filter(User.profilecss != None) + for u in users: + print(f'processing {u.id}', flush=True) + for i in css_url_regex.finditer(u.profilecss): + url = i.group(1) + if not is_safe_url(url): + print(f"wiped {u.id}\n{u.profilecss}", flush=True) + with open(f"wipe.log", "a", encoding="utf-8") as f: + f.write(f'{u.id}\n{u.profilecss}\n\n\n') + u.profilecss = None + g.db.add(u) + break + return 'success' + @app.get('/admin/loggedin') @limiter.limit(DEFAULT_RATELIMIT) @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)