Start · Sprachen · PHP · Referenz · ibase_modify_user

ibase_modify_user

Funktion

Ändert einen bestehenden Benutzer in der Firebird/InterBase-Security-Datenbank über einen Service-Handle.

seit PHP 5.0.0 Kategorie: db

Signatur

ibase_modify_user(resource $service_handle, string $user_name, string $password, string $first_name = '', string $middle_name = '', string $last_name = ''): bool

Beschreibung

ibase_modify_user() ermöglicht es, die Eigenschaften eines vorhandenen Benutzers in der Security-Datenbank eines Firebird- oder InterBase-Datenbankservers zu ändern. Dazu zählen Passwort sowie optionale Namensfelder wie Vor-, Zwischen- und Nachname.

Voraussetzung ist ein aktiver Service-Handle, der zuvor mit ibase_service_attach() erzeugt wurde. Nur Benutzer mit ausreichenden Datenbankrechten (z. B. SYSDBA) dürfen andere Benutzerkonten modifizieren.

Die Funktion ist besonders nützlich in Administrationsskripten, die Benutzerverwaltungsaufgaben auf Firebird/InterBase-Servern automatisieren, etwa das regelmäßige Rotieren von Passwörtern oder das Aktualisieren von Stammdaten.

Hinweis: Die ibase_*-Erweiterung (interbase) wurde mit PHP 8.0 aus dem PHP-Kern entfernt. Ab PHP 8.0 steht alternativ die PECL-Erweiterung ibase oder die firebird-PDO-Erweiterung zur Verfügung.

Parameter

Name Typ Default Beschreibung
$service_handle Pflicht resource Ein aktiver Service-Handle, der mit ibase_service_attach() geöffnet wurde.
$user_name Pflicht string Der Name des Benutzers, dessen Daten geändert werden sollen. Muss in der Security-Datenbank bereits vorhanden sein.
$password Pflicht string Das neue Passwort für den Benutzer. Sollte hinreichend komplex sein und sicher übertragen werden.
$first_name string Optionaler Vorname des Benutzers.
$middle_name string Optionaler zweiter Vorname (Mittelname) des Benutzers.
$last_name string Optionaler Nachname des Benutzers.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. fehlenden Rechten oder ungültigem Benutzernamen).

Beispiele

Passwort eines Benutzers ändern

<?php
// Verbindung zum Firebird-Dienst herstellen
$service = ibase_service_attach('localhost', 'SYSDBA', 'masterkey');

if ($service) {
    // Passwort des Benutzers 'john_doe' aktualisieren
    $result = ibase_modify_user($service, 'john_doe', 'NeuesPasswort!2024');

    if ($result) {
        echo 'Benutzer erfolgreich aktualisiert.';
    } else {
        echo 'Fehler beim Aktualisieren des Benutzers.';
    }

    ibase_service_detach($service);
} else {
    echo 'Verbindung zum Firebird-Dienst fehlgeschlagen.';
}
Benutzer erfolgreich aktualisiert.

Benutzer mit vollständigen Namensangaben aktualisieren

<?php
// Service-Handle öffnen
$service = ibase_service_attach('db.example.com', 'SYSDBA', 'masterkey');

if ($service) {
    // Passwort und Namensfelder gleichzeitig aktualisieren
    $result = ibase_modify_user(
        $service,
        'jane_doe',
        'SicheresPasswort#99',
        'Jane',
        'M.',
        'Doe'
    );

    echo $result ? 'Benutzerdaten wurden aktualisiert.' : 'Aktualisierung fehlgeschlagen.';

    ibase_service_detach($service);
}
Benutzerdaten wurden aktualisiert.

// Wichtig · Fallstricke

Sicherheitshinweis: Passwörter sollten niemals im Klartext im Quellcode gespeichert werden. Verwende Umgebungsvariablen oder sichere Konfigurationsdateien außerhalb des Webverzeichnisses.

Deprecation: Die ibase_*-Erweiterung wurde in PHP 7.4 als veraltet markiert und mit PHP 8.0 vollständig entfernt. Für neuere PHP-Versionen sollte auf PDO_Firebird oder die PECL-Erweiterung umgestellt werden.

Der aufrufende Datenbankbenutzer (z. B. SYSDBA) benötigt ausreichende Serverrechte, um fremde Benutzerkonten zu modifizieren. Ohne die nötigen Rechte gibt die Funktion false zurück.