Benutzer: Paßwortgültigkeit neu setzen

Erhöhen Sie die Sicherheit, indem Sie den Wert der Gültigkeit des Passwortes neu setzen.

Das folgende Beispiel-Skript ermöglicht das Setzen des expires-Wertes (Ablaufzeit) zum Passwort und wird auf alle Benutzer angewandt, ausgenommen die im Skript per exclude angegebenen Benutzer bzw. Gruppen.

Sofern die Änderung des Passwortes länger als 120 Tage bis zum heutigen Zeitpunkt her ist, wird der expires-Wert neu gesetzt.

Beispiel: Skript zum Setzen des expires-Wertes zum Passwort

<?php

require_once($_SERVER['DOCUMENT_ROOT'] . '/weblication/grid.php');

$marginLastPasswordChange = 120; // days since last password change

/* @var $users array */
$users = wUsers::selectUsers();
$excludeUsers = [ 'admin' ]; // Benutzer nach username ausschliessen
$excludeUsersByGroup = [ 'chiefeditorship', 'guests' ]; // Benutzer nach gruppen ausschliessen

if( empty( $users ) ) {
exit(
'noUsers' );
}

$todayTS = time();
$marginLastPasswordChangeTS = $marginLastPasswordChange * 24 * 60 * 60;
$checkDateTS = $todayTS - $marginLastPasswordChangeTS;

foreach(
$users as $username ) {

if( !empty(
$excludeUsers ) && in_array( $username, $excludeUsers ) ) {
continue;
}

if( !empty(
$excludeUsersByGroup ) ) {
$userGroups = wUserData::getGroups( $username );
if( !empty(
array_intersect( $excludeUsersByGroup, $userGroups ) ) ) {
continue;
}
}

$lastChangeUserPassword = wUserData::getData( $username, '/wUser/password/@date' );
$expires = wUserData::getData( $username, '/wUser/password/@expires' );
if( empty(
$expires ) && $checkDateTS > $lastChangeUserPassword ) {

// set Expires
$set = wUserData::setData( $username, '/wUser/password/@expires', $checkDateTS );
if(
$set === true ) {
var_dump( 'changed:' . $username );
}
else {
var_dump( 'failed:' . $username );
}

}
}

?>

Um bei abgelaufenem Passwort entsprechend vorgehen zu können (z.B. Passwort ändern Maske aufrufen), können Sie über die pre.php die erforderlichen Schritte definieren.