X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Floader.php;h=e154a9395b23bb9a815e37247502dd697fc87871;hb=04040e55c05a59a028101ee3afb04721d08cfc0f;hp=df5647ff081f0bc40886e0e0c625b1efb75c45bd;hpb=75cd76db5969a9710ab2602e7453c3b96a683c1f;p=mailer.git diff --git a/inc/modules/loader.php b/inc/modules/loader.php index df5647ff08..e154a9395b 100644 --- a/inc/modules/loader.php +++ b/inc/modules/loader.php @@ -41,12 +41,18 @@ if (!defined('__SECURITY')) { } // END - if // Is an URL specified? -if ((isGetRequestElementSet('url')) && (isGetRequestElementSet('hash'))) { +if ((isGetRequestElementSet('url')) && (isGetRequestElementSet('hash')) && (isGetRequestElementSet('salt'))) { // Decode URL $decodedUrl = decodeString(str_replace(' ', '+', compileUriCode(urldecode(getRequestElement('url'))))); + // Debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'decodedUrl=' . $decodedUrl . ',hash=' . getRequestElement('hash')); + // Generate hash for comparing it - $hash = encodeHashForCookie(generateHash($decodedUrl, getRequestElement('hash'))); + $hash = encodeHashForCookie(generateHash($decodedUrl . getSiteKey() . getDateKey(), getRequestElement('salt'))); + + // Debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'decodedUrl=' . $decodedUrl . ',hash=' . $hash); // Validate the URL and hash if ($hash != getRequestElement('hash')) { @@ -57,12 +63,18 @@ if ((isGetRequestElementSet('url')) && (isGetRequestElementSet('hash'))) { logDebugMessage(__FILE__, __LINE__, 'Hash ' . getRequestElement('hash') . ' does not match URL ' . $decodedUrl); } elseif (isUrlValid($decodedUrl)) { // Generate a JavaScript that redirects us - loadTemplate('loader', false, $decodedUrl); + loadTemplate('loader', FALSE, $decodedUrl); } else { // URL invalid redirectToUrl('modules.php?module=index'); } } else { + // Is the hash not provided? + if (!isGetRequestElementSet('hash')) { + // Very old (external!) call + logDebugMessage(__FUNCTION__, __LINE__, 'Possible old call on loader.php detected. Redirecting to index.php anyway ...'); + } // END - if + // Invalid or no URL entered! redirectToUrl('modules.php?module=index'); }