Merge pull request #1679 from hackmdio/bugfix/fix-no-referrer-for-return-url

Handle when request url has no valid referer
This commit is contained in:
Raccoon 2021-05-13 12:56:42 +08:00 committed by GitHub
commit 54f6e55b71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 2 deletions

View File

@ -8,8 +8,15 @@ exports.setReturnToFromReferer = function setReturnToFromReferer (req) {
if (!req.session) req.session = {}
var referer = req.get('referer')
var refererSearchParams = new URLSearchParams(new URL(referer).search)
var nextURL = refererSearchParams.get('next')
var nextURL
if (referer) {
try {
var refererSearchParams = new URLSearchParams(new URL(referer).search)
nextURL = refererSearchParams.get('next')
} catch (err) {
logger.warn(err)
}
}
if (nextURL) {
var isRelativeNextURL = nextURL.indexOf('://') === -1 && !nextURL.startsWith('//')