[TASK] Remove reqCHash functionality for plugins
Since TYPO3 v10.0, all links generated by TYPO3 contain a cHash if - there are arguments that are not mapped within the routing - there are arguments that are not explicitly "excluded" from cHash (e.g. fbclid) - there are arguments that are not internal (L,id,MP). The PageArgumentValidator middleware now always evaluates the arguments properly at every request and decides to disable caching or throw a 404, if an incoming request does not have a cHash or an invalid cHash. Through the middleware, any plugin is automatically checked for the cHash, and it does not matter anymore for plugins, so it does not matter for integrators or template authors as well as cHash is managed internally by TYPO3 Core now (with no way to disable it, for security reasons). All functionality regarding cHash that can be dropped: - CacheHashEnforcer and Extbase option - TSFE->reqCHash() can be marked as deprecated - the option within PiBased Plugins is now irrelevant as well. This change jointly decouples cHash evaluation from any other part than Url Generation (= PageRouter) and Resolver (PageArgumentValidator), finally streamlining all logic of cHash functionality. Resolves: #89868 Releases: master Change-Id: I7a694fbc95fa1ea4dc85b12a94b0a06b3722fd11 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62267 Tested-by:TYPO3com <noreply@typo3.com> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Frank Nägler <frank.naegler@typo3.org> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Frank Nägler <frank.naegler@typo3.org>
Showing
- typo3/sysext/core/Documentation/Changelog/master/Deprecation-89868-RemoveReqCHashFunctionalityForPlugins.rst 61 additions, 0 deletions...precation-89868-RemoveReqCHashFunctionalityForPlugins.rst
- typo3/sysext/extbase/Classes/Mvc/Web/CacheHashEnforcer.php 0 additions, 74 deletionstypo3/sysext/extbase/Classes/Mvc/Web/CacheHashEnforcer.php
- typo3/sysext/extbase/Classes/Mvc/Web/FrontendRequestHandler.php 1 addition, 18 deletions...sysext/extbase/Classes/Mvc/Web/FrontendRequestHandler.php
- typo3/sysext/extbase/Tests/Unit/Mvc/Web/CacheHashEnforcerTest.php 0 additions, 77 deletions...sext/extbase/Tests/Unit/Mvc/Web/CacheHashEnforcerTest.php
- typo3/sysext/extbase/ext_typoscript_setup.typoscript 0 additions, 2 deletionstypo3/sysext/extbase/ext_typoscript_setup.typoscript
- typo3/sysext/felogin/Classes/Controller/FrontendLoginController.php 0 additions, 10 deletions...xt/felogin/Classes/Controller/FrontendLoginController.php
- typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php 2 additions, 1 deletion...ntend/Classes/Controller/TypoScriptFrontendController.php
- typo3/sysext/frontend/Classes/Middleware/PageArgumentValidator.php 0 additions, 2 deletions...ext/frontend/Classes/Middleware/PageArgumentValidator.php
- typo3/sysext/frontend/Classes/Plugin/AbstractPlugin.php 4 additions, 31 deletionstypo3/sysext/frontend/Classes/Plugin/AbstractPlugin.php
- typo3/sysext/frontend/Tests/Unit/Controller/TypoScriptFrontendControllerTest.php 0 additions, 78 deletions...ests/Unit/Controller/TypoScriptFrontendControllerTest.php
- typo3/sysext/frontend/Tests/UnitDeprecated/Controller/TypoScriptFrontendControllerTest.php 132 additions, 0 deletions...eprecated/Controller/TypoScriptFrontendControllerTest.php
- typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php 7 additions, 0 deletions.../Configuration/ExtensionScanner/Php/MethodCallMatcher.php
- typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyPublicMatcher.php 10 additions, 0 deletions...figuration/ExtensionScanner/Php/PropertyPublicMatcher.php
Please register or sign in to comment