Skip to content
Snippets Groups Projects
Commit ada1c582 authored by Benni Mack's avatar Benni Mack Committed by Georg Ringer
Browse files

[TASK] Remove unused special GET parameters

Several ADMCMD_ and  TSFE_ADMIN_PANEL variables
are excluded from cHash, but were never evaluated before.

The GET parameters are removed from setting and calculation
in cacheHash.

Resolves: #90412
Releases: master
Change-Id: I4c6781fca4fd6ccc50bd068f266619b2a2a0cf15
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63236


Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
parent c83454be
No related merge requests found
......@@ -151,16 +151,14 @@ class CacheHashCalculator implements SingletonInterface
/**
* Checks whether the given parameter is out of a known data-set starting
* with ADMCMD or starts with TSFE_ADMIN_PANEL.
* with ADMCMD.
*
* @param string $key
* @return bool
*/
protected function isAdminPanelParameter($key)
{
return $key === 'ADMCMD_noBeUser' || $key === 'ADMCMD_view' || $key === 'ADMCMD_editIcons'
|| $key === 'ADMCMD_simUser' || $key === 'ADMCMD_simTime' || $key === 'ADMCMD_prev'
|| stripos($key, 'TSFE_ADMIN_PANEL') !== false && preg_match('/TSFE_ADMIN_PANEL\\[.*?\\]/', $key);
return $key === 'ADMCMD_noBeUser' || $key === 'ADMCMD_simUser' || $key === 'ADMCMD_simTime' || $key === 'ADMCMD_prev';
}
/**
......
......@@ -163,7 +163,6 @@ class CacheHashCalculatorTest extends UnitTestCase
'Only the relevant parts should be taken into account' => ['&id=42&key=value&exclude1=val', $knowHash],
'Only the relevant parts should be taken into account(exclude2 before key)' => ['&id=42&exclude2=val&key=value', $knowHash],
'System parameters should not be taken into account (except id)' => ['&id=42&type=23&key=value', $knowHash],
'Admin panel parameters should not be taken into account' => ['&id=42&TSFE_ADMIN_PANEL[display]=7&key=value', $knowHash],
'Trivial hash for sorted parameters should be right' => ['&id=42&a=v&b=v', '52c8a1299e20324f90377c43153c4987'],
'Parameters should be sorted before cHash is created' => ['&id=42&b=v&a=v', '52c8a1299e20324f90377c43153c4987'],
'Empty argument names are filtered out before cHash calculation' => ['&id=42&b=v&a=v&=dummy', '52c8a1299e20324f90377c43153c4987']
......
......@@ -150,16 +150,14 @@ class PreviewController
$queryParameters['_language'] = $site->getLanguageById((int)$queryParameters['L']);
unset($queryParameters['L']);
}
$parameters = $queryParameters;
if (!WorkspaceService::isNewPage($this->pageId)) {
$parameters = $queryParameters;
$parameters['ADMCMD_noBeUser'] = 1;
$parameters['ADMCMD_prev'] = 'IGNORE';
$liveUrl = (string)$site->getRouter()->generateUri($this->pageId, $parameters);
}
$parameters = $queryParameters;
$parameters['ADMCMD_view'] = 1;
$parameters['ADMCMD_editIcons'] = 1;
$parameters['ADMCMD_prev'] = 'IGNORE';
$wsUrl = (string)$site->getRouter()->generateUri($this->pageId, $parameters);
} catch (SiteNotFoundException | InvalidRouteArgumentsException $e) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment