Forum und email
Crack Functions

XVI. Crack Functions

Wstęp

Te funkcje umożliwiają korzystanie z biblioteki CrackLib w celu sprawdzenia 'jakości' hasła. 'Jakość' hasła jest rozpatrywana na podstawie jego długości, użytych w nim małych i wielkich liter, oraz słownika CrackLib. CrackLib zwraca również pożyteczne wskazówki mogące pomóc w poprawieniu jakości hasła.

Notatka: To rozszerzenie zostało przeniesione do repozytorium PECL i nie jest rozprowadzane z PHP od wersji 5.0.0.

Wymagania

Więcej informacji na temat CrackLib oraz samą biblioteke można znaleźć na stronie: https://sourceforge.net/projects/cracklib.

Instalacja

To rozszerzenie PECL nie jest dołączane do PHP. Informacje na temat instalacji tego rozszerzenia PECL można znaleźć w podręczniku w rozdziale zatytułowanym Instalacja rozszerzeń PECL. Dodatkowe informacje, takie jak nowe wersje, pliki do pobrania, pliki źródłowe, informacje o opiekunach czy rejestr zmian, można znaleźć tutaj: https://pecl.php.net/package/crack.

W PHP 4 to rozszerzenie PECL można znaleźć w podkatalogu ext/ źródeł PHP lub pod znajdującym się wyżej odnośnikiem PECL. Aby zbudować PHP z obsługą Crack należy podać opcję --with-crack[=DIR] wywołania configure.

Użytkownicy Windows mogą włączyć obsługe funkcji Crack, poprzez dodanie php_crack.dll w pliku php.ini. W PHP 4 ten DLL znajduje się w podkatalogu extensions/ binarnej dystrybucji PHP dla Windows. DLL z tym rozszerzeniem PECL można pobrać ze strony PHP Downloads lub https://snaps.php.net/.

Konfiguracja uruchomieniowa

Na działanie tych funcji wpływają ustawienia zawarte w pliku php.ini.

Tabela 1. Opcje konfiguracji

NazwaDomyślna wartośćMożliwość zmianRejestr zmian
crack.default_dictionaryNULLPHP_INI_PERDIRDostępne od PHP 4.0.5.
Szczegóły i definicje dotyczące stałych PHP_INI_* znajdują się w rozdziale Dodatek G.

Typy zasobów

To rozszerzenie nie posiada żadnych rodzajów zasobów.

Stałe predefiniowane

To rozszerzenie nie posiada żadnych stałych.

Przykłady

Poniższy przykład obrazuje sposób otwarcia słownika CrackLib, sprawdzenia hasła, pobrania informacji diagnostycznych, oraz zamknięcia słownika.

Przykład 1. Przykład użycia CrackLib

<?php
// Otwarcie słownika CrackLib
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die(
'Unable to open CrackLib dictionary');

// Sprawdzenie hasła
$check = crack_check($dictionary, 'gx9A2s0x');

// Pobranie informacji diagnostycznych
$diag = crack_getlastmessage();
echo
$diag; // 'strong password'

// Zamknięcie słownika
crack_closedict($dictionary);
?>

Notatka: Jeśli crack_check() zwróci TRUE, crack_getlastmessage() zwróci 'silne hasło'.

Spis treści
crack_check -- Rozpoczyna sprawdzanie podanego hasła
crack_closedict -- Zamyka otwarty słownik CrackLib
crack_getlastmessage -- Zwraca wiadomość ostatniego wykonanego testu hasła
crack_opendict -- Otwiera nowy słownik CrackLib