[!!!][TASK] Remove lockHashKeyWords functionality
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-79513-RemovedSessionLockingBasedOnUseragent.rst
1 .. include:: ../../Includes.txt
2
3 =============================================================
4 Breaking: #79513 - Removed session locking based on useragent
5 =============================================================
6
7 See :issue:`79513`
8
9 Description
10 ===========
11
12 When using session data or user-login functionality with TYPO3, the default configuration was to
13 harden the session binding to the User Agent information sent by the HTTP request. If the user agent
14 information does not match, the session gets renewed and the user gets logged out.
15
16 The options `$TYPO3_CONF_VARS['FE']['lockHashKeyWords']` and `$TYPO3_CONF_VARS['BE']['lockHashKeyWords']`
17 were set to "useragent" by default to use this additional session locking check.
18
19 This case is especially problematic when having a larger website (e.g. a community platform) with
20 100K frontend users and the session lifetime set to 6 months. After every security update of the
21 browser or possibly a plugin, or if a version update is happening on Evergreen Browsers, then
22 all users would get logged out, which is inconvenient.
23
24 Based on the additional security level on top versus the user experience on the site, the "useragent"
25 functionality has been dropped. Since the "lockHashKeyWords" options did only work on "useragent"
26 and no other functionality was integrated, the option (and related, the database fields "ses_hashlock"
27 as well) has been removed without substitution.
28
29
30 Impact
31 ======
32
33 The options `$TYPO3_CONF_VARS['FE']['lockHashKeyWords']` and `$TYPO3_CONF_VARS['BE']['lockHashKeyWords']`
34 are removed automatically when hitting the install tool.
35
36 The database fields 'fe_sessions.ses_hashlock' and 'be_sessions.ses_hashlock' have been removed.
37
38 The public property `$lockHashKeyWords` of the PHP class `AbstractUserAuthentication` has been
39 removed and will throw a PHP Notice when trying to access it.
40
41 All other functionality related to sessions still works the same.
42
43
44 Affected Installations
45 ======================
46
47 Any installation using the configuration options for custom checks based on the session handling
48 with third-party extensions, which is very unlikely.
49
50
51 Migration
52 =========
53
54 The TYPO3 Install Tool removes the configuration option for existing installations. Using the
55 "Database Comparison" view, it is possible to remove the fields from the database.
56
57 .. index:: LocalConfiguration