phpMyId und PHP mittels FastCGI

Geschrieben von everflux am März 24th, 2008

Das kleine Script phpMyID ist ein OpenID Identity provider für einen einzelnen Benutzer. Vorteil: keine Datenbank, kein Schreibzugriff auf das Dateisystem nötig und es ist schnell einzurichten.
Allerdings hatte ich Probleme, das Script auf einem Server mit PHP über FastCGI zu verwenden, obwohl das FastCGI Modul extra so konfiguriert ist, dass der Authorization Header (Apache 2.2) weitergereicht wird:

FastCgiConfig -pass-header Authorization

Trotzdem funktionierte das Script nicht wie gewünscht:
Missing expected authorization header.
Weiterlesen »

Zend Framework 1.5 für PHP 5 veröffentlicht

Geschrieben von everflux am März 17th, 2008

Zend hat das Zend Framework in der Version 1.5 veröffentlicht.
Nachdem der Launch einige Male verschoben wurde, ist jetzt zeitgleich auch eine neue Version der Zend Framework Webseite online. Die Webseite soll dem häufig geäußerten Kritikpunkt Rechnung tragen, dass das Zend Framework für neue Anwender zu wenig auf das optische Erscheinungsbild und Einstiegshilfen Wert gelegt hat.
Dies schlägt sich nun in neuen Quick Start Tutorials und Webcasts nieder, sowie einer „Web 2.0“ Optik der Webseite.
Weiterlesen »

PHP Basic Authentication und FastCGI mit Apache2

Geschrieben von everflux am Februar 25th, 2008

PHP, Apache2 und FastCGI bringt neben ein paar Annehmlichkeiten einen Haufen Probleme mit. So funktioniert z.B. die gewohnte WWW-Authenticate „Basic Authentication“ nicht mehr wie gewohnt.
Das wird durch verschiedene Faktoren bestimmt:
Das mod_fastcgi muss so konfiguriert werden, dass die entsprechenden Header weitergereicht werden. Bei Apache 1 ist es HTTP_AUTHORIZATION – Apache2 verwendet den standardkonformen „Authorization“ HTTP Header.
Dafür sieht dann die FastCGI Konfiguration etwa so aus:

FastCgiConfig -pass-header Authorization -pass-header HTTP_AUTHORIZATION

PHP – zumindest in der aktuellen Version – wertet diesen Header offenbar nicht aus.
Dazu bedarf es dann eines kleines PHP Snippets als Workaround. Oder Zend behebt das Problem mal.

if (isset($_SERVER['Authorization']) && !empty($_SERVER['Authorization']))
{
    list ($type, $cred) = split (" ", $_SERVER['Authorization']);

    if ($type == 'Basic')
   {
        list ($user, $pass) = explode (":", base64_decode($cred));
        $_SERVER['PHP_AUTH_USER'] = $user;
        $_SERVER['PHP_AUTH_PW'] = $pass;
    }

}

Der Rest funktioniert dann wie gewohnt.

phpMyAdmin: blowfish_secret Fehler nach Update

Geschrieben von everflux am Februar 11th, 2008

Es gibt Tage, da fällt man vom Glauben ab: Ubuntu (und Debian) sind in meinen Augen stets bei Updates sehr zuvorkommend gewesen.
Das phpMyAdmin Update hat mich jedoch belehrt, etwas weniger in Ubuntu zu vertrauen, und öfter mal selber aufzupassen.
Nach dem Update konnte ich mich bei phpmyadmin nicht mehr anmelden, einzig die Fehlermeldung „blowfish_secret needed“ kam ständig – und auch eine Anpassung der config.inc.php von phpMyAdmin um diese Zeile
$cfg[‚blowfish_secret‘] = “;
half leider nicht weiter.
Was dann weiter half – nach einer halben Stunde des Grübelns war diese „nderung:
$cfg[‚blowfish_secret‘] = ‚foo=true‘;

Ist auch besser, den Menschen das Denken zu ersparen.

phpbb3 mit php als cgi: malformed header from script

Geschrieben von everflux am Februar 11th, 2008

Wer sein phpbb3 zusammen mit einem PHP das über CGI angesprochen wird betreibt, kann eine oeberraschung erleben: Bilder funktionieren nicht richtig, und in der Logdatei tauchen Einträge der Form

malformed header from script. Bad header=Not Modified: file.php, referer:

auf. Die Lösung: die Zeile

header(‚Not Modified‘, true, 304);
ist zu ersetzen durch
header(„HTTP/1.1 304 Not Modified“, true, 304);
und anschließend klappt es korrekt. Der Hintergrund ist wohl, dass die andere Schreibweise im header Aufruf lediglich mit PHP als Apache Modul funktioniert, weil der Apache die kurz-Notation „Not Modified“ unterstützt, und daraus den RFC2616 konformen Header mit Status 304 macht.

Update:
Die korrekte Lösung sollte so aussehen – und das gilt wohl für alle, die vorhaben mit PHP conditional GETs zu unterstützen:

if (php_sapi_name()==’CGI‘)
{
header(„Status: 304 Not Modified“);
}
else
{
header(„HTTP/1.0 304 Not Modified“);
}

Flow3: Von Typo3 über Zend zu Rails in PHP

Geschrieben von everflux am Februar 9th, 2008

Typo3 ist eines der Content Management Systeme in PHP.
Die Entwickler von Typo3 sind jedoch mit dem CMS zufriedener, als etablierten PHP Frameworks wie dem Zend Framework, CakePHP, Symphony oder ezComponents.
Für die Nachfolgeversion der aktuellen Typo3 Version – dann jedoch gleich der 5.0 – wird darum fleißig ein neues Framework entwickelt, dass sich an dem aus der Java Welt bekannten Spring Framework und Ruby on Rails orientiert gearbeitet.
Das neue PHP Framework wird unter dem Namen Flow3 entwickelt, und ist derzeit nur per SVN erreichbar – auch keine alpha Version ist derzeit verfügbar.
Das Zend Framework hat derweil die Version 1.5 als Preview veröffentlicht.
Die Orientierung an dem Spring Framework ist sicherlich nicht schlecht – dass jedoch jeder meint, ein eigenes Süppchen zu kochen ist in meinen Augen nicht der goldene Weg.

Vielleicht wird hier eine Form der Evolution stattfinden – nicht unbedingt von Fittnesskriterien getrieben, die für jeden Entwickler transparent sind, aber in jedem Fall macht es wenig Sinn, dass es n verschiedene Wege zum Ziel gibt.

PHP Forum Supportforen Ziel von Angriffen

Geschrieben von everflux am Februar 5th, 2008

PHPbb.de war das erste Forum, welches meldetet, dass Benutzerdaten ausgespäht wurden. Der Meldung nach klingt es, als sei Zugriff auf die zugrundeliegende Datenbank genommen worden, und ein Datenbank-Dump gezogen worden.
Angeblich handelt es sich nicht um einen Fehler im phpBB, sondern um eine andere Lücke, die ausgenutzt wurde.
Dann folgten in rascher Abfolge Meldungen von ausgespähten Daten im Woltlab Burning Bord (WBB) Supportforum, nachdem das WBB Forum Opfer gezielte Angriffe wurde.
Nun meldet auch das Supportforum des Simple Machines Forum (SMF), dass hier Zugriff auf die Datenbank genommen wurde.
Drei gehackte Supportforen von PHP Forum Software innerhalb einer Woche? Das klingt sehr nach einem gezielten Angriff in meinen Augen – oder aber, dass nach der Veröffentlichung des Einbuchs im phpBB Supportforum die anderen ihre Logdateien genauer geprüft haben.
Bei allen Foren gilt, dass die Passwörter nicht im Klartext gespeichert wurden – jedoch gerade einfache Passwörter relativ einfach erraten werden könnten. Daher sollten Benutzer der jeweilligen Foren ihre Zugangsdaten sicherheitshalber überall ändern – ganz besonders, wenn das verwendetet Passwort bei einigen Diensten gleich ist. Weiterlesen »

Head First Software Development

Geschrieben von everflux am Januar 22nd, 2008

Head First Software Development ist das neueste Buch aus der Headfirst Reihe bei O’Reilly. Der deutsche Titel dürfte dann „Softwareentwicklung von Kopf bis Fuß“ werden, sobald das Buch auf dem deutschen Markt erscheint. Ich habe das Buch auf englisch und möchte es jedem ans Herz legen. Weiterlesen »

Zend Framework und PHP: Beschleunigung durch Caching

Geschrieben von everflux am Dezember 21st, 2007

Das Zend Framework etabliert sich langsam zum Framework der Wahl für PHP Applikationen. Doch gerade wenn noch nicht so viele Erfahrungen vorlieren, kann es passieren, dass der Eindruck entsteht das Zend Framework sei noch nicht reif für den Produktiveinsatz, Bugs oder Performance Probleme bei dem „großen“ Zend Framework werden hier schonmal als Gründe für die home-grown-Lösung genannt.

Weiterlesen »

PhpBB die dritte

Geschrieben von everflux am Dezember 14th, 2007

PhpBB, eines der am meisten eingesetzten Forensysteme überhaupt ist in Version 3 erschienen. PhpBB3 Codename „Olympus“ wurde kurz nach dem ersten Release von Phpbb2 gestartet und kann damit auf eine Entwicklungszeiit von rund fünf Jahren zurückblicken.
Neu sind unter anderem Dateianhänge für Postings und Privatnachrichten, Verwarnungen, ein erweitertes Rechtesystem und ein neues Templatesystem.
Umstellungen von phpbb2 sollten relativ reibungslos ablaufen – wenn man nicht verschiedene MODs und Hacks einsetzt. Dann könnte eine Umstellung aufwendiger werden, vor allem wenn für diese Erweiterungen keine offizielle Migrationsmöglichkeit besteht.
Man darf also davon ausgehen, dass viele etablierte phpbb2 Foren noch eine Weile ihren Dienst tun werden, und vor allem für neue Foren ein phpbb3 eingesetzt werden wird.


http://everflux.de/
Copyright © 2007, 2008 everflux. Alle Rechte vorbehalten. All rights reserved.