Rheinwerk Computing < openbook > Rheinwerk 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
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
Rheinwerk 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


Rheinwerk Computing

25.10 blenc  toptop


Version: 0.1 Lizenz: PHP-Lizenz

blenc ist ein Paket, das dazu dient, PHP-Scripts zu verschlüsseln. Die Idee ist, das Script so zu verschlüsseln, dass die Daten nicht mehr direkt eingesehen bzw. verändert werden können, also quasi eine »Closed Source« zu erstellen. Das kann sehr hilfreich sein, wenn Sie Ihre Programme verkaufen oder Ihre Kunden davon abhalten wollen, die Daten zu verändern.

Im Gegensatz zum bcompiler wird kein Bytecode gespeichert, sondern der reine PHP-Code wird mithilfe des Blowfish-Algorithmus verschlüsselt und abgelegt. Das hat den Vorteil, dass im Quelltext Passwörter und Ähnliches vorhanden sein können, ohne dass diese direkt eingesehen werden können. Allerdings muss ich darauf hinweisen, dass diese Daten durchaus bei der Ausführung des Scripts aus dem Speicher ausgelesen werden können.

Der Nachteil besteht darin, dass die Scripts langsamer ausgeführt werden, da sie erst entschlüsselt und dann noch übersetzt werden müssen. In vielen Fällen wird sich das aber nicht unbedingt bemerkbar machen.

Nachdem Sie das Paket, das übrigens nur unter PHP 5 läuft, installiert haben, müssen Sie in der php.ini noch einen zusätzlichen Eintrag vornehmen. Und zwar ist es erforderlich, den Namen und Pfad der Datei, die die blenc-Schlüssel enthält, der Direktive blenc.key_file zuzuweisen. Diese Datei, deren Namen Sie frei wählen können, wird von Ihnen angelegt und muss pro Zeile einen Schlüssel enthalten. Diese Schlüssel werden zum Dekodieren des Programmcodes benötigt. Daher sollte die Datei natürlich auch vor dem Zugriff unautorisierter Personen geschützt sein, da Ihr Script andernfalls entschlüsselt werden kann.

Das Paket stellt nur eine Funktion, nämlich blenc_encrypt(), zur Verfügung. Diese bekommt als ersten Parameter das Script als String übergeben. Die zweite Variable ist der Name der Datei, in der die verschlüsselten Daten abgelegt werden sollen. Zusätzlich können Sie als dritten Parameter noch einen Schlüssel angeben, der für die Verschlüsselung genutzt werden soll. Übergeben Sie diesen Schlüssel nicht, wird dieser dynamisch generiert.

<form> 
Dateiname: <input type='text' name='file' /> 
<input type='submit' value='Verschl&uuml;sseln' /> 
</form> 
<?php 
if (true == isset($_GET['file'])) 
{ 
   $file = $_GET['file']; 
   $data=file_get_contents($file); 
   if (false == $data) 
   { 
      die ('Datei konnte nicht eingelesen werden'); 
   } 
   $key=blenc_encrypt($data,"$file.enc"); 
   if (false == $key) 
   { 
      die ("Konnte Daten nicht verschl&uuml;sseln"); 
   } 
   else 
   { 
      $fp = fopen ('blenc.keys','a'); 
      if (false == $fp) 
      { 
         die ('Konnte Schl&uuml;sseldatei nicht &ouml;ffnen'); 
      } 
      $erg=fputs ($fp, "$key\n"); 
      if (false == $erg) 
      { 
         die ('Konnte Schl&uuml;ssel nicht speichern'); 
      } 
      fclose($fp); 
   } 
echo "Datei $file verschl&uuml;sselt und als $file.enc 
      gespeichert<br /> Schl&uuml;ssel gespeichert"; 
} 
?>

Listing 25.13 Verschlüsselung mit blenc

Listing 25.13 öffnet ein Formular, in das Sie den Namen einer Datei eingeben können, die kodiert werden soll. Das Script liest die Datei ein, kodiert die Daten und speichert den Schlüssel, der automatisch durch das Script generiert wird.

Die verschlüsselte Datei behält den Originalnamen, allerdings wird zusätzlich noch die Endung .enc angehängt. Um die Datei ausführen zu können, müssen Sie diese wieder umbenennen, so dass sie dann wieder die Endung .php hat.

 <<   zurück
     
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: PHP PEAR
PHP PEAR
Jetzt Buch bestellen!
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: PHP 5.6 und MySQL 5.7






 PHP 5.6 und
 MySQL 5.7


Zum Rheinwerk-Shop: Einstieg in PHP 5.6 und MySQL 5.6






 Einstieg in PHP 5.6
 und MySQL 5.6


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Moderne Websites entwickeln






 Moderne Websites
 entwickeln


Zum Rheinwerk-Shop: MySQL 5.6






 MySQL 5.6


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo








Copyright © Rheinwerk Verlag GmbH 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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern