diff --git a/pass/routes/key.js b/pass/routes/key.js index 0bc9f8ffebd7a79a053c5db7573f593dfddf9861..dba7188d8bfcb6822ce26bda68f838e39dc40317 100644 --- a/pass/routes/key.js +++ b/pass/routes/key.js @@ -22,7 +22,19 @@ router.get("/remove", (req, res) => { if (req.cookies.key) { res.clearCookie("key"); } - res.redirect("/"); + + // Check if a redirection URL is supplied + let url = req.query.url; + if (url) { + let parsed_url = new URL(url); + if (parsed_url.hostname !== req.hostname) { + url = "/"; + } + } else { + url = "/"; + } + + res.redirect(url); }); router.get("/enter", function (req, res, next) {