Ist ja auch ein Sicherheits- und Datenschutzproblem.
Wieso? 🙂
Du kannst folgenden Code in der functions.php
deines Child Themes (oder als Code Snippet) ausprobieren:
add_filter('auth_cookie_expiration', 'my_expiration_filter', 99, 3);
function my_expiration_filter($seconds, $user_id, $remember){
//if "remember me" is checked;
if ( $remember ) {
//WP defaults to 2 weeks;
$expiration = 14*24*60*60; //UPDATE HERE;
} else {
//WP defaults to 48 hrs/2 days;
$expiration = 2*24*60*60; //UPDATE HERE;
}
//http://en.wikipedia.org/wiki/Year_2038_problem
if ( PHP_INT_MAX - time() < $expiration ) {
//Fix to a little bit earlier!
$expiration = PHP_INT_MAX - time() - 5;
}
return $expiration;
}
(Quelle: Stack Overflow)
Die Werte musst du nach deinen Wünschen anpassen. Das Backend wird übrigens nach Ablauf der Zeit noch angezeigt, aber sobald du irgendwas anklickst, wird das Login-Fenster für die Neuanmeldung eingeblendet. Änderungen kannst du nicht mehr vornehmen.
Denn Sinn verstehe ich trotzdem nicht so ganz …
Thread-Starter
Rolf
(@rolinux)
Vielen Dank.
Ich habe den Code mal mit dem genannten Plugin eingebaut. Allerdings kam dann gleich eine Fehlermeldung beim Logout. Ein Login war dann nicht mehr möglich, bis ich das Plugin durch Umbenennen des Plugin-Ordners via FTP deaktiviert habe. Ich habe das Plugin deinstalliert.
Der Sinn ist, dass die Vereinsmitglieder, die sich im Mitgliederbereich anmelden können, vlt. vergessen, auf „Abmelden“ zu klicken und dann zwei Tage angemeldet bleiben. In dieser Zeit kann jeder, der Zugriff auf den Account z.B. am PC hat, die Homepage aufrufen und die eigentlich geschützten Daten anschauen.
Eigentlich wäre es schön, wenn das im Backend direkt einstellbar wäre. Es würde ja nicht wehtun, wenn da weiterhin die zwei Tage vorbelegt wären.
Ich habe den Code mal mit dem genannten Plugin eingebaut. Allerdings kam dann gleich eine Fehlermeldung beim Logout.
Das kann ich nicht nachvollziehen. Ich habe gerade nochmal Code Snippets installiert, den o.g. Code hinzugefügt … alles wie es sein sollte. Bist du sicher, dass du das richtige Code Snippets-Plugin installiert hast?
In dieser Zeit kann jeder, der Zugriff auf den Account z.B. am PC hat, die Homepage aufrufen und die eigentlich geschützten Daten anschauen.
Deshalb solltest du auch nur eingeschränkte Rechte vergeben. Wer kein Admin ist, hat auch keinen Zugriff auf die Daten anderer BenutzerInnen. Inhalte können übergreifend nur geändert werden, wenn du RedakteurIn bist. Vielleicht solltest du eher die Rechtevergabe überdenken?
Eigentlich wäre es schön, wenn das im Backend direkt einstellbar wäre.
WordPress ist OpenSource. Du kannst gerne den Vorschlag machen, WordPress um diese Funktionalität zu ergänzen. Vermutlich wird man dir aber mitteilen, dass das eher Aufgabe eines Plugins wäre.
Hast du mir mal Idle User Logout angeschaut?
Da kannst du die Zeit im Backend angeben, wann User (je nach Benutzerrolle) ausgeloggt werden.
Thread-Starter
Rolf
(@rolinux)
Idle User Logout habe ich mir nicht angeschaut, weil da steht, dass es noch nicht mit meiner WordPress-Version (4.9.7) getestet wurde. Ich habe das Plugin „Abmelden inaktiver Benutzer“ installiert, aber das funktioniert nur solange der Besucher die Homepage im Browser geladen hat. Wenn er den Browser zu macht oder die Homepage verlässt, ohne sich abzumelden, funktioniert das nicht mehr.
Gruß
Rolf
Idle User Logout habe ich mir nicht angeschaut, weil da steht, dass es noch nicht mit meiner WordPress-Version (4.9.7) getestet wurde.
Das steht da, weil der/die Plugin-EntwicklerIn vermutlich noch keine Zeit gefunden hat (oder keine Lust hatte), sich darum zu kümmern. Probier’s trotzdem aus. Wenn’s nicht passt, kannst du es wieder rausschmeißen.
Thread-Starter
Rolf
(@rolinux)
Ich habe Idle User Login mal installiert, scheint zu funktionieren. Aber halt wieder nur solange, wie der User die Homepage im Browser hat. Ich habs trotzdem mal aktiv gelassen, besser als nix. Es spuckt auch keine Meldung aus wie das andere Plugin, was mir persönlich sympathischer ist.
Das Plugin Code Snippet, das ich installiert habe, war das, was Du verlinkt hast.
Es gibt das Plugin WP Login Timeout Settings, das anscheinend die Cookie-Lebensdauer setzen kann. Allerdings sind mir da die Bewertungen nicht gut genug. Es scheint da noch einige Probleme zu geben.
Gruß
Rolf
So schlecht sind die Bewertungen doch gar nicht? Bei über tausend Installationen haben sich zwei Nutzer über einen (den gleichen) Fehler ausgekotzt, der vermutlich mit der Serverkonfiguration zusammen hängt.
Du hast jetzt ein Code-Schnipsel (wieso der bei dir nicht funktionieren soll, verstehe ich immer noch nicht) und einen Plugin-Vorschlag, außerdem selbst noch eine Alternative gefunden – ich setze den Thread mal auf „gelöst“.
Thread-Starter
Rolf
(@rolinux)
Ja, ok.
Ich habe jetzt doch mal das Plugin WP Login Timeout Settings probiert und es funktioniert.
Vielen Dank für die Hilfe.
Gruß
Rolf