Archive for the ‘PHP’ tag
PHP-Benchmarking: Strings anhand von Leerzeichen trennen
Ausgangssituation
Vor kurzem hatten wir in der Firma das Problem, dass auf der Budgetmap unseres Portals ein String, bestehend aus Leerzeichen und einem Ampersand, einen AJAX-Request und die weiterführende Verarbeitung via PHP nicht überstand. Unsere Frontend-Entwickler saßen somit vor ihren Bildschirmen und überlegten, wie das Problem behoben werden kann. Die Lösung: im PHP-Controller wird einfach nur das erste übergebene Wort ausgewertet. Die Tür ging auf, ein Frontend’ler kam herein und warf eine Frage in den Raum: “Wie muss ich einen Regulären Ausdruck formulieren, damit ich die erste Zeichenkette vor einem Leerzeichen zurückbekomme?” - Total verwirrt und entsetzt warfen wir die Hände über den Kopf: “RegEx? Bloß nicht!”
Problemstellung
Wie die meisten von euch sicherlich wissen, sind Reguläre Ausdrück (vor allem unter PHP) eine der schlimmsten Programmierlösungen, die man einem (nach Performance ächzenden) Webserver nur antun kann – zumindest wenn implementierbare Alternativen existieren. Umgehend schossen mir natürlich unzählige Möglichkeiten durch den Kopf, welche das Problem genauso einfach und performanter lösen können. Zwei von diesen möchte ich euch einmal kurz Vorstellen.
Read the rest of this entry »
PHP5 und Passwortsicherheit mit md5() und crypt()
Die meisten modernen Webseiten bieten mittlerweile die Möglichkeit an, alle Arten von Beiträgen zu kommentieren, zu bewerten und vieles mehr. Hierzu muss in den meisten Fällen ein eigenes Benutzerkonto angelegt werden – für mich persönlich der Fluch des “Web 2.0″.
Mit diesen Möglichkeiten einher gehen jedoch auch viele Probleme bezüglich der Accountsicherheit. Die meisten modernen PHP-Scripte setzen auf ein Hashverfahren bestehend aus einem Passwort und einem SALT. Grundsätzlich ist dieses Verfahren besser als Passwörter im Klartext zu speichern.
Eine Grundsätzliche Einweisung in das Thema “Kryptographie mit PHP” für den Programmierer bietet PHP.NET im eigenen Manual an. Zur Dokumentation der Crypt-Methode gelangt ihr über diesen Link.
Der “PHPGangsta” hat in seinem Blog zwei wunderschöne Einträge verfasst, welche sich mit dem Hashverfahren md5() und der, mit PHP 5.3 umfangreich implementierten Crypt-Methode beschäftigen. Die Vor- und Nachteile werden in den verlinkten Beiträgen sehr anschaulich dokumentiert. Ein Lob hierfür.
Den Artikel zur Sicherheit von Passwörtern und zum richtigen Umgang mit md5(), sowie den Artikel zum neuen Verfahren mit bcrypt könnt ihr auf seinem Blog lesen und ausgiebig diskutieren.
Viel Spaß dabei!