# Meldung Security token has expired, bei Installation 13.0

**URL:** <https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894>\
**Category:** Dolibarr installieren\
**Created:** [27. Januar 2021 um 08:07 UTC](https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894 "2021-01-27T08:07:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChoY](https://forum.dolibarr.de/forum/letter_avatar_proxy/v4/letter/c/d9b06d/32.png) [@ChoY](https://forum.dolibarr.de/forum/u/ChoY)\
**Post date:** [27. Januar 2021 um 08:07 UTC](https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894/1 "2021-01-27T08:07:31Z")

</div>

Ich habe mir das neue 13.0 installiert. Klappt alles einwandfrei, aber  
wenn ich irgendwas im Setup ändern will, zb Modul aktivieren, bekomme ich die Meldung  
„Security token has expired, so action has been canceled. Please try again.“  
Weiß jemand was damit gemeint ist? Welches „security token“?

---

<div class="post-metadata">

**Author:** ![khp](https://forum.dolibarr.de/forum/letter_avatar_proxy/v4/letter/k/ea666f/32.png) [@khp](https://forum.dolibarr.de/forum/u/khp)\
**Post date:** [27. Januar 2021 um 11:02 UTC](https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894/2 "2021-01-27T11:02:37Z")

</div>

Läuft das auf einem Linux Server?

---

<div class="post-metadata">

**Author:** ![ChoY](https://forum.dolibarr.de/forum/letter_avatar_proxy/v4/letter/c/d9b06d/32.png) [@ChoY](https://forum.dolibarr.de/forum/u/ChoY)\
**Post date:** [27. Januar 2021 um 11:49 UTC](https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894/3 "2021-01-27T11:49:32Z")

</div>

Ja,  
Server Version Linux h01 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 x86\_64  
PHP Version 7.3.26-1+0~20210112  
MySQL Version 5.5.5-10.3.27-MariaDB-0+deb10u1

---

<div class="post-metadata">

**Author:** ![ChoY](https://forum.dolibarr.de/forum/letter_avatar_proxy/v4/letter/c/d9b06d/32.png) [@ChoY](https://forum.dolibarr.de/forum/u/ChoY)\
**Post date:** [31. Januar 2021 um 13:44 UTC](https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894/4 "2021-01-31T13:44:56Z")

</div>

die sache hat sich zwischen zu einem offiziellen bug entwickelt und wird hoffentlch mit der nächsten version korrigiert sein. Inzwischen gibt es ein paar work-arounds.  
Siehe: [https://github.com/Dolibarr/dolibarr/pull/16124](https://github.com/Dolibarr/dolibarr/pull/16124)

---

<div class="post-metadata">

**Author:** ![Guido](https://forum.dolibarr.de/forum/user_avatar/forum.dolibarr.de/guido/32/695_2.png) [@Guido](https://forum.dolibarr.de/forum/u/Guido)\
**Post date:** [6. April 2021 um 11:05 UTC](https://forum.dolibarr.de/forum/t/meldung-security-token-has-expired-bei-installation-13-0/6894/5 "2021-04-06T11:05:38Z")

</div>

Ich fand Berichte das ein Upgrade auf Version 13.0.1 oder 13.0.2 dieses Problem behebt, aber das war in meinem Fall nicht so.

wenn man keine Eigenentwicklungen bzw. Thirdpartyentwicklungen im Einsatz hat, tritt dieser Fehler wie ebenfalls berichtet wurde nicht auf. Ich habe jedoch einige Eigen und Thirdpartyentwicklungen im Einsatz und demensprechend Mühsam war es die Orte und Gründe herauszufinden.

Mein Workarround war der folgende:  
Mehrere Dateien definieren die Konstante ‚CSRFCHECK\_WITH\_TOKEN‘ als ‚1‘.  
Somit habe ich Überall, wo ‚CSRFCHECK\_WITH\_TOKEN‘ definiert ist, die Einstellung auf ‚0‘ geändert.

/htdocs/admin/modules.php  
/htdocs/core/ajax/constantonoff.php  
/htdocs/main.inc.php  
/htdocs/user/perms.php

**/htdocs/admin/modules.php**  
if (!defined(‘CSRFCHECK\_WITH\_TOKEN’)) {

```auto
- define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET

```

auf

```auto
+ define('CSRFCHECK_WITH_TOKEN', '0'); // Force use of CSRF protection with tokens even for GET

```

**/htdocs/core/ajax/constantonoff.php**  
f (!defined(‘NOREQUIRETRAN’)) define(‘NOREQUIRETRAN’, ‘1’);

- if (!defined(‘CSRFCHECK\_WITH\_TOKEN’)) define(‘CSRFCHECK\_WITH\_TOKEN’, ‘1’); // Token is required even in GET mode  
auf

- if (!defined(‘CSRFCHECK\_WITH\_TOKEN’)) define(‘CSRFCHECK\_WITH\_TOKEN’, ‘0’); // Token is required even in GET mode

**/htdocs/main.inc.php**

//$dolibarr\_nocsrfcheck=1;  
// Check token  
if ((!defined(‘NOCSRFCHECK’) && empty($dolibarr\_nocsrfcheck) && !empty($conf-\>global-\>MAIN\_SECURITY\_CSRF\_WITH\_TOKEN))

- 

```auto
|| defined('CSRFCHECK_WITH_TOKEN')) // Check validity of token, only if option MAIN_SECURITY_CSRF_WITH_TOKEN enabled or if constant CSRFCHECK_WITH_TOKEN is set into page

```

````auto
auf
//$dolibarr_nocsrfcheck=1;
// Check token
if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->global->MAIN_SECURITY_CSRF_WITH_TOKEN))
        || defined('CSRFCHECK_WITH_TOKEN') // Check validity of token, only if option MAIN_SECURITY_CSRF_WITH_TOKEN enabled or if constant CSRFCHECK_WITH_TOKEN is set into pa$
        && ! empty(CSRFCHECK_WITH_TOKEN) ) // new security token check
{
* ```
  || ( defined('CSRFCHECK_WITH_TOKEN') && ! empty(CSRFCHECK_WITH_TOKEN) ) ) // Check validity of token, only if option MAIN_SECURITY_CSRF_WITH_TOKEN enabled or if constant CSRFCHECK_WITH_TOKEN is set into page

````

{

**/htdocs/user/perms.php**

- if (!defined(‘CSRFCHECK\_WITH\_TOKEN’)) define(‘CSRFCHECK\_WITH\_TOKEN’, ‘1’); // Force use of CSRF protection with tokens even for GET  
auf

- if (!defined(‘CSRFCHECK\_WITH\_TOKEN’)) define(‘CSRFCHECK\_WITH\_TOKEN’, ‘0’); // Force use of CSRF protection with tokens even for GET
