medienbüro

medienbüro

 

Feed abonnieren


Über dieses Blog

Hier blogge ich über Joomla! und Relevantes zur Webentwicklung, Suchmaschinen, Datensicherheit, Virtuellen Welten. Dieses Blog gibt meine eigenen Gedanken wieder und es besteht kein Anspruch auf Vollständigkeit oder Richtigkeit der Beiträge.

Tags



indigioTags ► WAMP
Tags >> WAMP
24. Sep 2008
Robert Reinhardt

Vereinfachter Aufbau von URLs

http://host.beispiel/sub/bar?arg1=val1&arg2=val2
\__/   \___________/\______/ \_________________/
  |      |           |        | 
 #1     #2          #3       #4

  1. Protokoll (auch URL-Schema), hier: „http“
  2. Host (auch Host-Name), hier: „host.beispiel“
  3. Pfad (auch URL-Pfad) beginnt immer mit einem Schrägstrich, hier: „/sub/bar“
  4. Query (auch Query String) der Teil nach dem ersten Fragezeichen bis zum ersten #-Zeichen, hier: „arg1=val1&arg2=val2“


14. Mär 2008
Robert Reinhardt

ionCube und PHP 5.2.5

Unverhofft kommt oft. Nach einer nächtlichen Softwareaktualisierung vom PHP Interpreter auf 5.2.5 bei unserem Shared Host Webspace (1&1) war die Internetpräsentation meines Arbeitgebers nicht mehr benutzbar. Eine eingesetzte Komponente im Joomla! CMS die durch ionCube Encoder codiert ist stellte sich komplett quer und verrammelte die gesamte Webseite hinter einer Fehlermeldung.

Site error: the file homepages/[webspace]/htdocs/joomla/components/com_sef/sef.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator
ionCube wird von Software Entwicklern zum Verschlüsseln des ja eigentlich quelloffenen PHP Codes verwendet. So haben diese die Chance ihren Code auch kommerziell weiter zu verbreiten. Jeder Käufer des mit ionCube verschlüsselten Skripts muss auf seinem Webspace eine Extension nachladen die das kodierte script an the fly dekodiert. In den Versionen < 5.2.5 konnte man die benötigte ionCube-Loader Erweiterung zur Laufzeit einbinden. Per dl() Funktion war dies möglich. Durch Sicherheitsprobleme in den älteren PHP Versionen wurde diese Funktion aber abgeschaltet und die Einbindung der Erweiterung zur Laufzeit funktioniert seit dem nicht mehr. Der Entwickler von ionCube schlägt vor die Erweiterung, in meinem Fall die "ioncube_loader_lin_5.2.so" per
zend_extension = /[path]/ioncube_loader_lin_5.2.so
Befehl in der "php.ini" Datei nachzuladen. Per ioncube-loader-helper.php habe ich das Verzeichnis in dem die php.ini enthalten ist lokalisiert und festgestellt, wie bei einem shared host nicht anders zu erwarten, dass ich auf dieses Verzeichnis ja gar nicht zugreifen kann. Da mein Provider PHP als cgi Version betreibt ist es möglich eigene php.ini Dateien in seinem Webspace einzusetzen. Bloß wie und wo man diese anlegt konnte ich nur durch "try and error" feststellen. Ich habe gemerkt das der ionCube Loader in jedem per index Dokument angesprochen Verzeichnis nachgeladen werden muss. Also in jedem Verzeichnis wo das encodierte Script liegt und jedem Webroot das das Script includiert.