PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘Linux’ Category

Dieser Schlüssel zerstört sich in 30 Sekunden selbst

with 11 comments

Gastartikel von Oliver Sperke.

Ich bin 34 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängigsten Internetsprachen: PHP, HTML, Javascript und CSS.

Nachdem ich ja in den letzten Wochen über den sicheren Umgang mit Passwörtern in Webprojekten erzählt habe, soll es heute mal um etwas anderes gehen (aber trotzdem um das Thema Sicherheit). Wenn man oft auf fremden oder eigenen Servern arbeitet, kommt man an OpenSSH eigentlich nicht vorbei. Und wenn man dazu noch so faul ist wie ich (und vermutlich die meisten von Euch auch), hat man keine dutzenden Dateien mit Passwörtern, sondern wickelt die gesamten Loginvorgänge mit Hilfe von öffentlichen und privaten Schlüsseln ab. Dieses Verfahren ist nicht nur bequem, es bietet auch zusätzliche Sicherheit, da man nicht in Versuchung kommt, einfache Passwörter zu verwenden. Ausserdem ist die eigene Passwortliste schon von Haus aus verschlüsselt.

Das Verfahren hat aber für einen Serverbetreiber Nachteile. Der öffentliche Schlüssel muss auf dem Server hinterlegt werden. Ausserdem muss man sobald der Zugang nicht mehr benötigt wird, nachsehen, ob ein Benutzer sich vielleicht eigene Schlüssel hinterlegt hat und natürlich muss man ihm den Zugang manuell sperren.

Weiterlesen »

Written by Oliver

August 1st, 2011 at 9:34 am

Screenshots von Webseiten erstellen mit PHP

with 41 comments

Einen einfachen manuellen Screenshot von einer Webseite zu erstellen ist einfach, brauche ich hier wohl nicht extra erläutern. Wenn man allerdings aus seiner PHP-Applikation Screenshots von Webseiten erstellen möchte oder keine Lust hat auf manuelles Zusammenkopieren weil die Webseite sehr lang oder breit ist, hilft das Projekt wkhtmltopdf. Dieses Kommandozeilentool gibt es für Windows, Linux und Mac, und es läuft auch auf Servern ohne grafische Oberfläche. Auf der Webseite des Projekts findet man sowohl wkhtmltopdf als auch wkhtmltoimage. wk steht dabei für die Webkit Render Engine, die aus einem gegebenen HTML-Input entweder ein PDF oder ein Bild (jpg, png, tiff) erstellt.

Ich werde hier zeigen wie man Bilder erstellt, die Installation ist einfach: Man lädt sich die passende Version herunter, in meinem Fall für einen Debian-Server ist das wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2 . Die darin enthaltene Datei kopiere ich nach /usr/local/bin , falls bei euch open_basedir aktiv ist muss es natürlich irgendwo in ein erlaubtes Verzeichnis.

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
tar -xjvf wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
mv wkhtmltoimage-i386 /usr/local/bin/

Ein erster kleiner Test von der Konsole:

wkhtmltoimage-i386 https://www.phpgangsta.de phpgangsta.de.jpg

Hier das Ergebnis (klicken für das Original Bild):

Weiterlesen »

Written by Michael Kliewe

Juli 21st, 2011 at 8:01 am

Schöner hashen mit bcrypt

with 94 comments

Gastartikel von Oliver Sperke.

Ich bin 34 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängisten Internetsprachen: PHP, HTML, Javascript und CSS.

Bei meinem vorherigem Gastbeitrag wurde ich direkt im ersten Kommentar aus meiner heilen Welt geworfen. Dort stand nämlich folgender „erschütternder Kommentar“ zu lesen:

Das du Salting und Mehrfachhashing predigst, während der Rest der Welt schon einen Schritt weiter zu bcrypt geht… Traurig.

Nun ja, dazu möchte ich drei Dinge sagen.

  1. Ich predige nicht (Ausnahme: „Es heißt Standard, verdammt, nicht Standart!“).
  2. Ach, wenn die Welt schon mal auf dem Stand des einfachen md5 wäre …
  3. Bcrypt verdient einen eigenen Beitrag.

Natürlich hatte der Autor völlig recht. Über Hashfunktionen im Web zu schreiben und bcrypt nicht zu erwähnen ist fast schon schändlich. Also bcrypt ist eine Hashfunktion, die auf Langsamkeit optimiert wurde. Um genauer zu sein, es ist nicht mal ein richtiger Hashalgorithmus, sondern eine Blowfish Verschlüsselung, bei der am Ende „die Schlüssel weggeworfen werden“, daher lässt sich das Ergebnis nicht mehr entschlüsseln. bcrypt ist eine Weiterentwicklung der „Traditional DES Scheme“ Funktion aus der Unixwelt. Obwohl dieses Verfahren 30 Jahre lang (!) gute Dienste geleistet hat, stellen sich so langsam „Alterserscheinungen“ ein. Der Zahn der Zeit nagt auch hier in Form von gestiegener Rechenleistung.

Kurze Rückschau

Weiterlesen »

Written by Oliver

Juli 18th, 2011 at 8:56 am

Posted in Linux,PHP

Tagged with , , , ,

Linkpool Nummer 16

with 4 comments

Interessante Einsichten, wie t3n.de gehostet wurde die letzten Jahre: Massenhosting, eigener Serverraum, Housing und nun Individualhosting:

http://t3n.de/news/t3nde-gehostet-290436/

Hat jemand schon Erfahrungen mit diesem PHP Application Server?

http://www.photon-project.com/

Interessante ZendCon Session Podcast Episode über die Memcached Extension:

http://devzone.zend.com/article/13104-ZendCon-Sessions-Episode-040-Memcached-the-better-Memcache-interface

Audio Mitschnitt + Präsentation von der Dutch PHP Conference 2010 über Datenbankversionierung:

http://techportal.ibuildings.com/2011/03/01/dpcradio-database-version-control-without-pain/

Auch von der Dutch PHP Conference 2010, Rob Allen über stressfreies Deployment:

http://techportal.ibuildings.com/2010/11/09/dpcradio-stress-free-deployment/

Sehr schöne Veranschaulichung der Geschwindigkeitsunterschiede zwischen L1 Cache, L2 Cache, RAM und Festplatte:

http://twitpic.com/4a1eot/full

Written by Michael Kliewe

März 20th, 2011 at 12:52 pm

Posted in Linux,PHP

Tagged with , ,

Test von Googles neuem Apache Modul mod_pagespeed

with 22 comments

Google kündigt an, die Welt applaudiert: Das neue Apache-Modul mod_pagespeed soll automatisch Webseiten schneller machen, ohne Aufwand und für jede Seite, eine bis zu 50% schnellere Webseite wird versprochen. Google selbst hat natürlich auch etwas davon: Wenn jede Webseite schneller abrufbar ist, können die Suchmaschinen-Spider schneller und mehr crawlen…

Doch wenn man es selbst ausprobiert sind die Ergebnisse ernüchternd. Ich habe heute Abend das Modul installiert und aktiviert (in unter 3 Minuten), und ein paar Messergebnisse mit Firebug, PageSpeed und YSlow zusammengetragen.

Ergebnis: kein nennenswerter Geschwindigkeitsschub, teilweise sogar langsamer als vorher. Einige haben bei ersten Benchmarks das selbe Ergebnis wie ich erhalten, andere jedoch sprechen von 46% Verbesserung. Es scheint sehr davon abzuhängen wie die Seite aufgebaut ist und ob bereits Maßnahmen zur Verbesserung der Performance getroffen wurden.
Außerdem habe ich auf meiner Seite nach der Aktivierung Probleme mit dem HTML-Validator gefunden die vorher nicht da waren, durch die „Verbesserungen“ habe ich plötzlich ungültigen HTML-Code!

Hat jemand von Euch bereits Tests gemacht, was ist dabei herausgekommen?

==========================
Die Installation unter Ubuntu (32bit) ist denkbar einfach:
Weiterlesen »

Written by Michael Kliewe

November 5th, 2010 at 12:32 am