Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort
Vorwort
1 PEAR – Einführung
2 Authentication
3 Caching
4 Date and Time
5 File Formats
6 HTTP
7 Internationalization
8 Mail
9 Networking
10 PHP
11 Text
12 Web Services
13 Benchmarking
14 Configuration
15 Database
16 File System
17 HTML
18 Images
19 Logging
20 Math
21 Numbers
22 Tools and Utilities
23 XML
24 Selbst Pakete erstellen
25 PECL
Index

Download:
- ZIP, ca. 5,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
PHP PEAR von Carsten Möhrke
Anwendung und Entwicklung – Erweiterungen für PHP schreiben
Buch: PHP PEAR

PHP PEAR
798 S., 39,90 Euro
Galileo Computing
ISBN 3-89842-580-0
gp 25 PECL
  gp 25.1 Allgemeines
  gp 25.2 Installation
  gp 25.3 crack
  gp 25.4 apd
  gp 25.5 bcompiler
  gp 25.6 perl
  gp 25.7 Xdebug
  gp 25.8 APC
  gp 25.9 IDN
  gp 25.10 blenc
  gp 25.11 xmlreader
  gp 25.12 xmlwriter
  gp 25.13 id3


Galileo Computing

25.3 crack  toptop


Version: 0.2 Lizenz: Artistic

Das Paket crack dient dazu, Passwörter zu prüfen. Das heißt, es kann dazu genutzt werden, Passwörter, die durch einen User ausgewählt wurden, darauf zu testen, ob sie sicher sein könnten. Bitte vergessen Sie dabei nicht, dass dieses Passwort nur »sicher sein könnte«, aber nicht zwangsläufig sicher ist.

crack liegt in PECL in der Version 0.2 vor, was aber nicht darüber hinwegtäuschen sollte, dass crack selbst schon in der Version 2.7 vorliegt, die nur noch nicht so lange in PECL enthalten ist. Dieses Paket wurde unter PHP 4 getestet.

Um crack kompilieren zu können, benötigen Sie die Header-Dateien der cracklib, da das Paket nur einen Wrapper für die cracklib darstellt. Diese sind bei den meisten Linux-Distributionen enthalten. Meist erkennen Sie das entsprechende Paket daran, dass ein devel oder development im Namen vorkommt, wie beispielsweise bei SuSE, wo das Paket cracklib-devel heißt. Sollten Sie trotz der Tatsache, dass das Development-Paket installiert ist, die Fehlermeldung erhalten, dass die cracklib-Header-Datei nicht gefunden wurde, wird wahrscheinlich die Datei packer.h fehlen, die in einigen Linux-Distributionen nicht enthalten ist. Sollte das der Fall sein, laden Sie den Quelltext der cracklib 2.7 einfach von dieser URL herunter: http://www.crypti cide.com/users/alecm/. Entpacken Sie die Datei, und kopieren Sie die Datei packer.h in das Verzeichnis, in dem sich auch die Datei crack.h befindet. Danach sollte die Installation kein Problem darstellen.

Es ist auch möglich, crack unter Windows zu nutzen. Die benötigte DLL wird auf der PECL-Homepage des Pakets mit angeboten, und die Anweisungen zum Einbinden finden Sie unter http://www.php.net/crack.

Um das Paket nutzen zu können, benötigen Sie noch eine oder mehrere Wörterbuchdateien. In diesen Dateien sind Passwörter zu finden, die häufig genutzt werden. Da die Dateien recht umfangreich und sprachspezifisch sind, werden sie nicht sofort mit dem Paket installiert. Entsprechende Wörterbuchdateien für verschiedene Sprachen finden Sie beispielsweise unter dieser URL: ftp://ftp.cerias.purdue.edu/pub/dict/dictionaries/. Nachdem Sie die Datei entpackt haben, können Sie direkt loslegen.

Bevor Sie ein Passwort testen können, müssen Sie erst die Wörterbuchdatei öffnen, wozu die Funktion crack_opendict() definiert ist. Sie bekommt den Namen der Datei sowie den Pfad zu ihr übergeben. Nutzen Sie häufig dieselbe Passwortdatei, können Sie diese auch in der php.ini festschreiben. Hierzu weisen Sie der Direktive crack.default_dictionary den Namen und Pfad der Datei zu. Wenn Sie die php.ini nutzen, ist es möglich, in der PHP-Datei selbst noch eine andere Datei mit crack_opendict() zu öffnen.

Die eigentliche Überprüfung des Passworts wird von der Funktion crack_check() durchgeführt. Diese bekommt als ersten Parameter das File-Handle übergeben, das crack_opendict() zurückgibt. Der zweite Parameter ist das Passwort, das getestet werden soll. Mit einem true bestätigt die Funktion, dass das Passwort sicher zu sein scheint. Gibt sie false zurück, ist das für Sie der Hinweis, dass das Passwort zu schwach ist. In dem Fall können Sie mithilfe der Funktion crack_getlastmessage() den Grund auslesen, warum das System das Passwort beanstandet.

Haben Sie die Wörterbuchdatei manuell geöffnet, sollten Sie diese am Ende des Scripts wieder mit crack_closedict() schließen.

if (false === isset ($_GET['passwd'])) 
{ 
?> 
   <form> 
      Bitte geben Sie das Passwort ein: 
      <input type="text" name="passwd" /> 
      <br /> 
      <input type="submit" value="Passwort testen" /> 
   </form> 
<?php 
} 
else 
{ 
 
   $dict=crack_opendict("words.german"); 
   if (false == $dict) 
   { 
      die ("Konnte W&ouml;rterbuch nicht &ouml;ffnen"); 
   } 
 
   if (true !=  crack_check($dict,$_GET['passwd']")) 
   { 
      $msg = crack_getlastmessage(); 
      echo "Password zu einfach!<br />crack meldet: $msg"; 
   } 
   else 
   { 
      echo "Das Passwort scheint ausreichend sicher zu sein"; 
   } 
   crack_closedict($dict); 
}

Listing 25.1 Testen eines Passworts mit crack

Sollte crack_check() feststellen, dass das Passwort zu schwach ist, liefert crack_getlastmessage() einen dieser Texte zurück:

  • it is based on a dictionary word
  • it is based on a (reversed) dictionary word
  • it's WAY too short
  • it is too short
  • it does not contain enough DIFFERENT characters
  • it is all whitespace
  • it is too simplistic/systematic
  • it looks like a National Insurance number
 <<   zurück
     
  Zum Katalog
Zum Katalog: PHP PEAR
PHP PEAR
Jetzt bestellen!
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: PHP 5 und MySQL 5






 PHP 5 und MySQL 5


Zum Katalog: Web Content Management mit PHP 5 und MySQL 5






 Web Content
 Management mit
 PHP 5 und MySQL 5


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Webseiten programmieren und gestalten






 Webseiten
 programmieren
 und gestalten


Zum Katalog: CSS-Praxis






 CSS-Praxis


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de