Merge pull request #3564 from kinglozzer/pulls/3563-encode-backurl

FIX: Ensure query string in X-Backurl is encoded (fixes #3563)
This commit is contained in:
Damian Mooyman 2015-01-15 10:23:19 +13:00
commit aa445b8e5a

View File

@ -515,7 +515,18 @@ jQuery.noConflict();
// Set 'fake' referer - we call pushState() before making the AJAX request, so we have to
// set our own referer here
if (typeof state.data.__forceReferer !== 'undefined') {
headers['X-Backurl'] = state.data.__forceReferer;
// Ensure query string is properly encoded if present
var url = state.data.__forceReferer;
try {
// Prevent double-encoding by attempting to decode
url = decodeURI(url);
} catch(e) {
// URL not encoded, or was encoded incorrectly, so do nothing
} finally {
// Set our referer header to the encoded URL
headers['X-Backurl'] = encodeURI(url);
}
}
contentEls.addClass('loading');