Archive for the ‘PHP’ Category
Sicherheitsupdate für PHP bei CGI-Verwendung
Gestern wurden neue Versionen für PHP 5.4 und 5.3 released, namendlich: 5.4.2 und 5.3.12. Grund für diese neuen Versionen ist eine gravierende Sicherheitslücke bei der Verwendung von PHP im CGI-Modus.
Aber erstmal Entwarnung: Wahrscheinlich nutzt ihr kein CGI mehr sondern FastCGI oder mod_php, dann seid ihr nicht gefährdet. Wer aber noch auf die alte CGI-Schnittstelle setzt sollte sich schleunigst informieren und updaten um schlimmeres zu vermeiden, denn dank dieser leicht auszunutzenden Lücke ist es jedermann möglich, die Quelltexte euer PHP-Dateien im Document-Root anzuschauen oder auch beliebigen eingeschleusten PHP-Code auszuführen.
Wer seine alte Installation nicht anfassen darf oder kann, für den gibt es Hilfe in Form einer Rewrite-Regel:
PHP 5.4: Die neue Funktion header_register_callback()
Neben den vielen größeren Änderungen und neuen Features in PHP 5.4 gibt es auch eine kleine, aber vielleicht nützliche Funktion, mit der man noch an den HTTP-Headern rumpfuschen kann bevor sie an den Browser geschickt werden: header_register_callback().
Gerade bei älteren Applikationen, bei denen die Header mittels header() an x-beliebigen Stellen manipuliert werden, kann man mittels dieser Funktion an einer zentralen Stelle noch welche hinzufügen, ändern oder entfernen.
Der Callback, der an die Funktion übergeben wird, wird genau dann aufgerufen wenn die Header an den Browser geschickt würden, also bei der ersten Ausgabe des Skripts. Ich kopiere mal als Beispiel schnell den Code aus dem Manual, daran ist ersichtlich was die Funktion machen kann:
iBuildings Challenge: Mein Sismo Notifier für C2DM
iBuildings hat wieder eine Challenge veranstaltet, und ich habe wieder mitgemacht. Letztes Jahr galt es eine Vier-Gewinnt-Spieler-KI zu erstellen, diesmal ging es darum einen Notifier für den Continuous Testing Server Sismo von Fabien Potencier zu schreiben, sprich eine Klasse die sich darum kümmert das Ergebnis eines Builds zu veröffentlichen.
Ich habe mich dafür entschieden einen Notifier für Android Apps zu schreiben, der den Commit via Googles Cloud auf ein Android-Handy pushen kann, auf dem dann eine einfache App das Ergebnis anzeigen kann. Noch gibt es keine solche App, wenn ich das richtig gelesen habe ist das nur eine Sache von wenigen Stunden. Die Klasse mit der ich teilgenommen habe gibt es auf GitHub, bin gespannt ob der Pull-Request angenommen wird.
Algorithmus gesucht: Strings in String suchen
Ich habe eine kleine Aufgabe für euch: Gegeben ist ein String, sowie eine Menge kürzerer Strings die darauf geprüft werden ob sie im Ausgangsstring vorkommen und an welcher Stelle. Normalerweise gibt es dafür die PHP-Funktion strpos(). Nehmen wir an sie steht nicht zur Verfügung. Wie würdet ihr das Problem bestmöglich lösen, es gibt ja ziemlich viele Ansätze und Lösungen? Interessant dabei ist dass es exakt einen String gibt den es zu durchsuchen gilt, und sehr viele (hier im Beispiel 10.000) kürzere Strings die es zu suchen gilt. Je nachdem wie man den Algorithmus baut macht es eventuell Sinn einen Index oder ähnliches aufzubauen, sprich anfangs etwas mehr Rechenarbeit zu leisten damit man später die Suche sehr schnell erledigen kann?
Also die Grundstruktur soll wie folgt aussehen (siehe auch bei GitHub):
Weiterlesen »Linkpool Nummer 29
Ein paar interessante Links gegen den verregneten Sonntag:
Sehr interessante Serie über die PHP Source-Code-Interna, für PHP Entwickler:
XSS, und wie man htmlspecialchars NICHT benutzt:
Audioaufnahme eines Vortrags von Lorna Jane Mitchell über OAuth:
CSS3 und HTML5 Features in älteren Browsern mit Polyfills:
Carsten Eilers im PHP Magazin mit einem 9-teiligen Artikel über OAuth:
Der Mayflower Podcast Folge 2 und 3 über QA, CI und oTranCe
- http://blog.mayflower.de/archives/858-Mayflower-Podcast-002.html
- http://blog.mayflower.de/archives/859-Mayflower-Podcast-003.html
Dateien als Download zum Browser senden:
Erschreckende Zahlen von „Webmastern“ und „ihren“ Webseiten nach einem Einbruch:
Wie man aus PHP heraus Musik an einen Icecast/Shoutcast Server streamt mit einer eigenen Extension:
Bericht über einen Besuch beim Facebook Release Engineering Team: