Ces fonctions vous permettent d'utiliser la bibliothèque CrackLib, pour tester la robustesse de vos mots de passe. Cette bibliothèque teste la taille, les majuscules et minuscules, et effectue des recherches dans le dictionnaire CrackLib. CrackLib donne aussi des conseils pour renforcer vos mots de passe.
Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.
Plus d'informations concernant la bibliothèque CrackLib sont disponibles à » http://sourceforge.net/projects/cracklib .
Cette extension » PECL n'est pas intégrée à PHP. Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL . D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/crack .
En PHP 4, les sources de cette extension PECL peuvent être trouvées dans le dossier ext/ avec les sources de PHP ou sur le lien PECL ci-dessous. Si vous voulez utiliser ces fonctions, vous devez compiler PHP avec le support Crack en utilisant l'option de configuration --with-crack[=DIR] .
Les utilisateurs de Windows doivent activer la bibliothèque php_crack.dll dans le php.ini pour pouvoir utiliser ces fonctions. En PHP 4, cette bibliothèque DLL se trouve dans le dossier extensions/ avec les binaires PHP pour Windows téléchargées. La bibliothèque DLL pour cette extension PECL peut être téléchargée depuis, soit la page de » téléchargement PHP , soit depuis » http://pecl4win.php.net/
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini .
Tableau 38. Options de configuration
Nom | Par défaut | Modifiable | Historique |
---|---|---|---|
crack.default_dictionary | NULL | PHP_INI_PERDIR | Disponible depuis PHP 4.0.5. |
L'extension CrackLib définit un identifiant de ressource dictionnaire retourné par la fonction crack_opendict() .
Cette extension ne définit aucune constante.
Cet exemple montre comment ouvrir un dictionnaire CrackLib, tester un mot de passe, lire le diagnostic et refermer le dictionnaire.
Exemple 558. Exemple CrackLib
<?php
/* Ouverture du dictionnaire CrackLib */
$dictionary
=
crack_opendict
(
'/usr/local/lib/pw_dict'
)
or die(
'Unable to open CrackLib dictionary'
);
/* Vérification du mot de passe */
$check
=
crack_check
(
$dictionary
,
'gx9A2s0x'
);
/* Lecture du diagnostic */
$diag
=
crack_getlastmessage
();
echo
$diag
;
// 'strong password'
/* Fermeture du dictionnaire */
crack_closedict
(
$dictionary
);
?>
Note: Si crack_check() retourne TRUE , crack_getlastmessage() retournera le message 'strong password' (mot de passe robuste).