[TASK] Only set FE user cookie if session data or user logged in
Currently the FE session cookie is set on every request and since 4.2 the sessionID is generated again on every request unless the user is logged in. This is implemented for avoiding the security problem of the session fixation (see #19831). If an installation does not use FE session cookies at all, an option (TYPO3_CONF_VARS->FE->dontSetCookie) never sets the cookie. As the current behavior for non-logged-in FE calls is not usable, the behaviour is changed to only set the cookie if the user is logged in or the session data is modified. The last example is helpful for websites with e.g. a shopping cart on non-logged-in pages. Currently, if an extension is trying to implement the latter, the extension needs to hook or XCLASS the FrontendUserAuthentication class to set the cookie whenever needed. Additionally, the security problem still exists if the cookie is not set by TYPO3 itself, that's why the cookie can only be set if there is a valid entry in fe_user_sessions. if using external caching (e.g. reverse proxies), a "unneeded" cookie is always set currently, which extensions like EXT:moc_varnish or EXT:cachinfo mock to only set the cookie if needed. The attached patch removes the default-setting of a cookie in the frontend, and only triggers the setcookie() function when sessionData is added or a user is logged-in. Resolves: #55549 Releases: 6.2 Change-Id: If478bc00c2c55dda0cc38a898a1288098891671f Reviewed-on: https://review.typo3.org/27230 Reviewed-by: Markus Klein Tested-by: Markus Klein Reviewed-by: Wouter Wolters Tested-by: Wouter Wolters Reviewed-by: Benjamin Mack Tested-by: Benjamin Mack
Showing
- NEWS.md 13 additions, 1 deletionNEWS.md
- typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php 38 additions, 6 deletions...ore/Classes/Authentication/AbstractUserAuthentication.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 0 additions, 1 deletiontypo3/sysext/core/Configuration/DefaultConfiguration.php
- typo3/sysext/felogin/Classes/Controller/FrontendLoginController.php 1 addition, 1 deletion...xt/felogin/Classes/Controller/FrontendLoginController.php
- typo3/sysext/frontend/Classes/Authentication/FrontendUserAuthentication.php 39 additions, 2 deletions...end/Classes/Authentication/FrontendUserAuthentication.php
- typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php 0 additions, 3 deletions...ntend/Classes/Controller/TypoScriptFrontendController.php
- typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php 2 additions, 0 deletions...all/Classes/Service/SilentConfigurationUpgradeService.php
Please register or sign in to comment