PHP Maniac

Das PHP Blog für PHP-Profis und alle die es werden wollen

PHP Extensions zur Laufzeit einbinden

31 Mai, 2009 (12:46) | Code-Schnipsel, Server, Tipps und Tricks | Von: PHP Maniac

Fast jeder kennt das Problem: Man benötigt eine PHP Extension, die vom eigenen Hoster aber nicht angeboten wird. Auf Nachfrage bei der Hotline erfährt man, dass hier auch grundsätzlich keine Ausnahmen gemacht werden können. Genau dieses Problem hatte ich vor einiger Zeit mit dem ionCube Loader, der für einige kommerzielle PHP Skripte benötigt wird. Nach einiger Recherche habe ich aber einen Weg gefunden um diese Extension während der Laufzeit trotzdem einbinden zu können. Diese Lösung möchte ich nun im Folgenden näher vorstellen und erklären.

Weiterlesen »

Cronjob Alternative mit PHP

17 Mai, 2009 (16:44) | Server, Tipps und Tricks | Von: PHP Maniac

In vielen Webspaceangeboten fehlen heutzutage leider immernoch Cronjobs für das regelmäßige, automatierte Ausführen von wiederkehrenden Arbeiten wie z.B. Backups. Da Webhoster immernoch primär mit Attributen wie Speicherplatz, kiloweise Email-Adressen oder Traffickontingenten auf Kundenfang gehen, könnte die geringe Verbreitung von Cronjobs allerdings auch auf mangelndes Interesse seitens der Kunden zurückzuführen sein. Sei es, da viele überhaupt nicht richtig wissen was Cronjobs sind oder leisten können oder weil nach wie vor einfach zu wenig Backups erstellt werden. Daher möchte ich meinen heutigen Beitrag den Cronjobs widmen und wie eine ähnliche Funktionalität auch ohne „echte“ Cronjobs auf kleinen Webspacepaketen realisiert werden kann.

Weiterlesen »

Dynamische Bilder mit PHP erzeugen

14 Mai, 2009 (13:59) | Code-Schnipsel, HTML, Tipps und Tricks | Von: PHP Maniac

Die Ausgabe von Text und HTML Code mit PHP ist eine alltägliche Arbeit. Mit Hilfe der PHP Erweiterung GDLib lassen sich aber auch sehr einfach Bilder mit dynamischen Inahlt erzeugen. Um dies zu demonstrieren möchte ich heute ein kleines Skript vorstellen, dass das aktuelle Datum und die Uhrzeit ausgibt. Das entstandene PHP Skript lässt sich ganz einfach in einen IMG Tag einbinden. Somit eignet sich diese Methode z.B. zur Erstellung von Signaturen für Foren.

Weiterlesen »

MySQL Datenbanken mit Backupskript sichern

13 Mai, 2009 (23:19) | Code-Schnipsel, Grundlagen, MySQL, Server | Von: PHP Maniac

Das regelmäßige Sichern von MySQL Datenbanken sollte eigentlich längst zum Standard für jeden Websitebetreiber geworden sein. Jedoch vertrauen viele immernoch darauf, dass schon nichts passieren wird. Ist dann der Ernstfall eingetreten, so ist das böse Erwachen vorprogrammiert: Die wertvollen Daten der MySQL Datenbank sind weg, Backups sind nicht vorhanden. Mit ein wenig Glück hat der Hoster vielleicht noch eine Sicherheitskopie, in 99% der Fälle bieten die Hoster dies jedoch höchstens aus Kulanz an und die Leistungen sind keinesfalls Bestandsteil des Hostingpakets. Somit sollte man auch nicht auf den Hoster setzen, sondern seine eigenen Backups erstellen.

Weiterlesen »

HTTP Header mit PHP verändern

11 Mai, 2009 (09:09) | Code-Schnipsel, Grundlagen, Server, Tipps und Tricks | Von: PHP Maniac

Wie wir bereits beim Erstellen von HTTP GET Requests mit PHP gesehen haben, sieht das HTTP Protokoll verschiedene Header-Informationen vor, die die Kommunikation zwischen Server und Client regeln. Mit Hilfe der PHP Funktion header() lassen sich die HTTP Header verändern oder überschreiben, was ein sehr mächtiges Instrument bei der Entwicklung mit PHP darstellt.

Weiterlesen »

Remote File Inclusion (RFI) – Angriffe auf PHP Sicherheitslücken

9 Mai, 2009 (17:23) | Server, Sicherheit | Von: PHP Maniac

Ich möchte heute einige Worte zu Remote File Inclusion (RFI) schreiben, da in den letzten Tagen in meinen Logs einige RFI Einträge aufgetaucht sind. Erkennen kann man diese Angriffe in den Logs recht leicht, da hier eine URL auf dem Webserver aufgerufen wird, an die eine weitere URL als Parameter angehängt wird. Doch mehr dazu später. Gerade in Zeiten von Botnets und dem großflächigem Einsatz von Standardsoftware auf Webservern ist es also äußerst wichtig regelmäßig die veröffentlichten Updates einzuspielen, um nicht leichtfertig (im schlimmsten Fall) die Kontrolle über den eigenen Server zu verlieren.

Weiterlesen »

Einfach schnelleren PHP Code schreiben

6 Mai, 2009 (19:06) | Grundlagen, Quellcode optimieren, Tipps und Tricks | Von: PHP Maniac

Wer mit Schleifen zu tun hat, die sehr oft wiederholt werden müssen, sollte sich ruhig einmal einige Gedanken zur Vorgehensweise von PHP machen. Durch wenige kleine Änderungen an der richtigen Stelle lassen sich große Geschwindigkeitsvorteile erzielen. Hierbei ist keine schwarze Magie im Spiel und niemand muss den PHP Quelltext verstehen, denn die folgenden Tipps zur PHP Code Optimierung sind leicht verständlich und gut nachvollziehbar.

Weiterlesen »

Vier Wege um PHP-Session-IDs aus den URLs zu entfernen

3 Mai, 2009 (22:29) | Code-Schnipsel, Grundlagen, Server, Tipps und Tricks | Von: PHP Maniac

Fast jeder, der schon einmal ein CMS für Suchmaschinenen optimieren wollte oder musste, wird das folgende Problem kennen: PHP hängt seine Session-IDs an alle Links auf einer Webseite an, wenn der Besucher keine Cookies aktiviert hat. Da die Crawler der Suchmaschinen natürlich keine Cookies akzeptieren, so sehen sie bei jedem Besuch die Links mit angehängter Session-ID. Dies wäre an sich noch nicht problematisch, doch bei jedem Besuch wird eine neue Session ID vergeben. Daher denken die Bots, dass es sich um einen neuen Link der Webseite handelt und fügen diesen eventuell dem Suchindex hinzu. Da der Inhalt der Webseiten jedoch, unabhängig von der Session ID, immer der gleiche ist, führt dies unter Umständen zu einer Abwertung der Webseite. Denn die Suchmaschinenen halten von Duplicate Content nicht besonders viel.

Weiterlesen »

Laufzeit eines PHP Skripts messen

2 Mai, 2009 (17:38) | Code-Schnipsel, Grundlagen, PHP 5 | Von: PHP Maniac

Heute mal ein Klassiker, den vielleicht schon viele kennen. Allerdings ist die Laufzeitmessung von PHP Skripten eine interessante Sache, auch wenn sie sehr leicht zu implementieren ist. Gerade bei stark frequentierten Seiten oder aufwändigen Berechnungen (Stichwort Parsing oder Crawlen) hilft die Laufzeitmessung mögliche Fehler zu erkennen oder das Skript hinsichtlich der Geschwindigkeit zu verbessern. Wenn so ein Skript dann mehrere hundert Seiten Crawlt, können auch kleine Verbesserungen zu enormen Geschwindigkeitsverbesserungen führen.

Weiterlesen »

Syntax Highlighting mit PHP

1 Mai, 2009 (08:47) | Code-Schnipsel, HTML, PHP, Sicherheit, Tipps und Tricks | Von: PHP Maniac

Während in jedem guten Editor der Quellcode bereits automatisch eingefärbt wird, ist dies auf Webseiten längst kein Standard. Jedoch erleichtert das Hervorheben von Schlüsselwörtern, Variablen und Programmcode die Lesbarkeit enorm und ermöglicht einen intuitiveren Umgang mit dem Quelltext. Natürlich lässt sich ein Syntax Highlighting auch von Hand implementieren, z.B. mit einfachen Ersetzungen (str_replace) oder gar Regular Expressions (preg_replace). Was viele jedoch nicht wissen ist, dass PHP von Haus aus bereits zwei interessante Funktionen zum Einfärben von PHP und HTML Quelltexten zur Verfügung stellt.

Weiterlesen »