PHP Maniac

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

Kategorie: Server

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 »

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 »

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 »

HTML Seiten Crawlen (Links extrahieren)

30 April, 2009 (08:52) | Crawler, Grundlagen, PHP, Regular Expressions, Server | Von: PHP Maniac

Vor einigen Tagen habe ich ja einen Artikel zum HTTP GET verfasst. Die Resonanz, besonders vor dem Hintergrund der Crawler-Programmierung, hat mich doch positiv überrascht und daher werde ich nun noch einige Artikel zu dem Thema Crawler schreiben. Mit dem HTTP GET Request wissen wir bereits, wie wir Webseiten von einem Server mit PHP abrufen können. Zum fertigen mini Crawler fehlt eigentlich nur noch eine Analyse der gewonnen HTML Seiten um weitere Links zu finden und dadurch mehr Seiten Crawlen zu können. Da jedoch jede Webseite anders aussieht, ist dieses Unterfangen nicht ganz leicht zu lösen. Das es aber definitiv nicht aussichtslos ist, zeigt ein näherer Blick auf die Regular Expressions.

Weiterlesen »

Deutsche Ausgaben mit der PHP date() Funktion

29 April, 2009 (21:52) | Grundlagen, PHP, Server, Tipps und Tricks | Von: PHP Maniac

Die date() Funktion von PHP, welche Timestamps in ein lesbares Datum umwandeln kann, ist sicher jedem PHP Programmierer schon einmal begegnet. Wird hier lediglich ein numerisches Datum oder eine Uhrzeit ausgegeben, so gibt es in der Regel keinerlei Probleme. Ganz anders sieht es schon aus, wenn der Wochentag oder der Monat von PHP ausgeschrieben werden sollen, hier muss man dann oft mit der Englischen Ausgabe vieler PHP Installationen vorlieb nehmen. Abhilfe verschafft ein kleiner Trick, mit dem sich die Ausgabesprache von PHP beliebig verändern kann.

Weiterlesen »

HTTP GET Requests mit PHP erzeugen

27 April, 2009 (18:22) | Code-Schnipsel, PHP, Server | Von: PHP Maniac

Wer sich mit PHP gerne mal einen kleinen Crawler oder Proxy programmieren möchte, ist sicher schon über die Erzeugung von HTTP Requests gestolpert. Zwar bietet PHP mit der Funktion file_get_contents() bei entsprechend konfiguriertem Webspace eine einfache Möglichkeit Webseiten auf anderen Servern abzurufen, allerdings lässt diese keine Einstellungen wie z.B. den User-Agent zu. Wer also mehr erwartet als das bloße Abrufen von Webseiten, oder wenn die Webseite den PHP User-Agent blockt, muss selbst Hand anlegen. Wie das geht, werde ich im folgenden kurz Beschreiben.

Weiterlesen »