diff options
| author | Brahim Hadriche <brahim.hadriche@gmail.com> | 2023-01-13 19:04:37 -0500 |
|---|---|---|
| committer | Brahim Hadriche <brahim.hadriche@gmail.com> | 2023-01-13 19:04:37 -0500 |
| commit | 01acb9bfbfda00c4fdcb8de87c33174d694de530 (patch) | |
| tree | 0dfbb12685e65e4550945455065bb88e549e7980 /src | |
| parent | 05258d56bdc3f4de1f0da0c0dbd2d540f68cbdd5 (diff) | |
| download | invidious-01acb9bfbfda00c4fdcb8de87c33174d694de530.tar.gz invidious-01acb9bfbfda00c4fdcb8de87c33174d694de530.tar.bz2 invidious-01acb9bfbfda00c4fdcb8de87c33174d694de530.zip | |
Login redirect to referer on logged-in user
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/helpers/utils.cr | 2 | ||||
| -rw-r--r-- | src/invidious/routes/login.cr | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr index ed0cca38..4448508c 100644 --- a/src/invidious/helpers/utils.cr +++ b/src/invidious/helpers/utils.cr @@ -259,7 +259,7 @@ def get_referer(env, fallback = "/", unroll = true) end referer = referer.request_target - referer = "/" + referer.gsub(/[^\/?@&%=\-_.0-9a-zA-Z]/, "").lstrip("/\\") + referer = "/" + referer.gsub(/[^\/?@&%=\-_.:,0-9a-zA-Z]/, "").lstrip("/\\") if referer == env.request.path referer = fallback diff --git a/src/invidious/routes/login.cr b/src/invidious/routes/login.cr index 99fc13a2..6454131a 100644 --- a/src/invidious/routes/login.cr +++ b/src/invidious/routes/login.cr @@ -6,14 +6,14 @@ module Invidious::Routes::Login user = env.get? "user" - return env.redirect "/feed/subscriptions" if user + referer = get_referer(env, "/feed/subscriptions") + + return env.redirect referer if user if !CONFIG.login_enabled return error_template(400, "Login has been disabled by administrator.") end - referer = get_referer(env, "/feed/subscriptions") - email = nil password = nil captcha = nil |
