This option basically is useless in the age of CGNAT and mobile networks.
<minvalue>1</minvalue>
<suffix>seconds</suffix>
</option>
- <option name="session_validate_ip_address">
- <categoryname>security.general.session</categoryname>
- <optiontype>boolean</optiontype>
- <defaultvalue>0</defaultvalue>
- </option>
<option name="session_validate_user_agent">
<categoryname>security.general.session</categoryname>
<optiontype>boolean</optiontype>
define('SESSION_TIMEOUT', 1800);
define('IP_ADDRESS_SEARCH_ENGINE', '');
define('USER_ONLINE_TIMEOUT', 900);
-define('SESSION_VALIDATE_IP_ADDRESS', 0);
define('SESSION_VALIDATE_USER_AGENT', 1);
define('SESSION_ENABLE_VIRTUALIZATION', 1);
define('ENABLE_USER_AUTHENTICATION_FAILURE', 1);
// https://github.com/WoltLab/WCF/issues/3339
define('EXTERNAL_LINK_REL_NOFOLLOW', 1);
+ // Session validation is removed since 5.4.
+ // https://github.com/WoltLab/WCF/pull/3583
+ define('SESSION_VALIDATE_IP_ADDRESS', 0);
+
$filename = WCF_DIR.'options.inc.php';
// create options file if doesn't exist
* @return boolean
*/
protected function validate() {
- if (SESSION_VALIDATE_IP_ADDRESS) {
- if ($this->virtualSession instanceof ACPSessionVirtual) {
- if ($this->virtualSession->ipAddress != UserUtil::getIpAddress()) {
- return false;
- }
- }
- else if ($this->session->ipAddress != UserUtil::getIpAddress()) {
- return false;
- }
- }
-
if (SESSION_VALIDATE_USER_AGENT) {
if ($this->virtualSession instanceof ACPSessionVirtual) {
if ($this->virtualSession->userAgent != UserUtil::getUserAgent()) {
define('BLACKLIST_HOSTNAMES', '');
define('SESSION_TIMEOUT', 3600);
-define('SESSION_VALIDATE_IP_ADDRESS', 0);
define('SESSION_VALIDATE_USER_AGENT', 0);
define('CACHE_SOURCE_TYPE', 'disk');
<item name="wcf.acp.option.proxy_server_http"><![CDATA[Proxy-Server (HTTP)]]></item>
<item name="wcf.acp.option.session_timeout"><![CDATA[Gültigkeitslänge einer Sitzung]]></item>
<item name="wcf.acp.option.session_timeout.description"/>
- <item name="wcf.acp.option.session_validate_ip_address"><![CDATA[IP-Adresse der Sitzung überprüfen]]></item>
- <item name="wcf.acp.option.session_validate_ip_address.description"><![CDATA[Eine Aktivierung dieser Einstellung kann Benutzer ausschließen, die mit wechselnden IP-Adressen im Internet unterwegs sind.]]></item>
<item name="wcf.acp.option.session_validate_user_agent"><![CDATA[Browser-Kennung der Sitzung überprüfen]]></item>
<item name="wcf.acp.option.session_enable_virtualization"><![CDATA[Virtuelle Sessions erlauben]]></item>
<item name="wcf.acp.option.session_enable_virtualization.description"><![CDATA[Benutzer können sich mit mehreren Endgeräten (PC, Tablet, Smartphone, etc.) gleichzeitig anmelden, alle Geräte nutzen dann die selbe Sitzung. Die Abschaltung dieser Option hat zur Folge, dass ein Benutzer nur von einem einzigen Gerät gleichzeitig angemeldet sein darf und sich unter Umständen die Geräte auf diese Weise gegenseitig abmelden. Die Deaktivierung dieser Option wird nicht empfohlen und sollte nur vorgenommen werden, wenn {if LANGUAGE_USE_INFORMAL_VARIANT}du dir{else}Sie sich{/if} der Konsequenzen bewusst {if LANGUAGE_USE_INFORMAL_VARIANT}bist{else}sind{/if}.]]></item>
<item name="wcf.acp.option.proxy_server_http"><![CDATA[Proxy-Server (HTTP)]]></item>
<item name="wcf.acp.option.session_timeout"><![CDATA[User Session Timeout]]></item>
<item name="wcf.acp.option.session_timeout.description"><![CDATA[User sessions expire after the following seconds.]]></item>
- <item name="wcf.acp.option.session_validate_ip_address"><![CDATA[Validate IP address]]></item>
- <item name="wcf.acp.option.session_validate_ip_address.description"><![CDATA[Enabling this validation might cause issues for users with a rotating IP address.]]></item>
<item name="wcf.acp.option.session_validate_user_agent"><![CDATA[Validate user-agent]]></item>
<item name="wcf.acp.option.session_enable_virtualization"><![CDATA[Allow session sharing]]></item>
<item name="wcf.acp.option.session_enable_virtualization.description"><![CDATA[Users can login from multiple devices (desktop, tablet, smartphone, etc.) concurrently; all devices will share the same session. Disabling this will restrict users to only one device (session) at a time, causing all the other device sessions to terminate. It is not recommended to disable this option.]]></item>