Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

crack_check

Crack-Funktionen

    Befehl:
bool crack_check ( resource $dictionary , string $password )
bool crack_check ( string $password )


    Parameter-Liste:
NameBeschreibung
dictionaryDas Cracklib-Wörterbuch. Wenn nicht angegeben, wird das zuletzt geöffnete Wörterbuch genutzt.
passwordDas überprüfte Passwort.

    Rückgabewerte:
Gibt TRUE zurück, wenn password 'stark' ist. Wenn nicht, wird FALSE zurückgegeben.

    Beschreibung:
Führt einen Test der Kennwortstärke auf dem übergebenen Wörterbuch durch.

Warnung:
Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.


    Aktiv in Version:
(PECL crack >= 0.1)

crack_check - Beispiel:


Eingabe:
<?PHP
function cracklibCheck($password, &$message)
{
    // Clean up password
    $password=str_replace("\r", "", $password);
    $password=str_replace("\n", "", $password);

    // Run password through cracklib-check
    exec("echo ".escapeshellarg($password)." | /usr/sbin/cracklib-check 2>/dev/null", $output, $return_var);

    // Check it ran properly
    if($return_var==0)
    {
        if(preg_match("/^.*\: ([^:]+)$/", $output[0], $matches))
        {
            // Check response
            if(strtoupper($matches[1])=="OK")
            {
                // Password is strong
                $message="";
                return(true);
            }
            else
            {
                // Cracklib doesn't like it
                $message=$matches[1];
                return(false);
            }
        }
        else
        {
            // Badly formatted response from cracklib-check.
            throw new Exception("Didn't understand cracklib-check response.");
        }
    }
    else
    {
        // Some sort of execution error
        throw new Exception("Failed to run cracklib-check.");
    }
} 
?>
Crack-Funktionen