Absolute Sicherheit gibt es nicht. Aber bekannte Fehler lassen sich vermeiden. Diese Grundregel gilt auch für PHP -- Paranoia hilft nicht weiter, aber Nachlässigkeit ist Selbstverschulden -- Christopher Kunz, Peter Prochaska und Stefan Esser schließen mit der 2., aktualisierten und erweiterten Auflage ihres
PHP-Sicherheit-Buchs für viele engagierte PHP-Programmierer eine Wissenslücke und zeigen praktisch und leicht umsetzbar, wie sich PHP-basierte Webanwendungen gezielt absichern lassen, woher Gefahren drohen und welche Regeln zu beachten sind.
Für viele Hobby- aber auch Profi-Webentwickler stand und steht bei PHP die einfache Umsetzung bei gleichzeitig ungeschlagener Leistungsfähigkeit im Vordergrund. Fragen zur Sicherheit ergaben sich erst im Laufe der Zeit, vor allem durch die große Verbreitung. Wie nun also "nachträglich" Sicherheit "einbauen"? Was kann denn eigentlich passieren? Und was gilt es bei zukünftigen PHP/MySQL-Projekten zu beachten?
Kunz, Prochaska und Esser haben die 320 Seiten ihres PHP-Buchs auf den neusten Stand gebracht und die Version 5.2.0 angepasst und um Themen wie die PHP-Erweiterungen zur Filterung von Eingabedaten erweitert. Damit bieten sie Einstieg, Übersicht und konkrete Lösungen und richten sich sowohl an Entwickler und Administratoren, die nachträglich bestehende PHP-Projekte sicherheitsrelevant überarbeiteten als auch an Programmierer, die neue Anwendungen vorneweg "härten" wollen. Dabei setzen sie für PHP/MySQL relevante Administratorenkenntnisse und natürlich praktisches Wissen rund um datenbankbasierte PHP-Anwendungen voraus.
Die Themen umfassen nach einer Einleitung zu Begriffen, Quellen und Hintergründen etwa die Informationsgewinnung, Parametermanipulation, Cross-Site Scripting, SQL-Injection, Autorisierung und Authentisierung, Sessions, Upload-Formulare, Variablenfilter mit ext/filter, PHP intern und PHP-Hardening bis hin zu Webserver-Filter für Apache. Die Kapitel beginnen meist mit einer Starterklärung, es folgen Beispiele, Lösungen und am Ende ein Fazit. Im Anhang dann noch eine Checkliste, eine Liste aller Schwachstellen mit Gefahrenpotenzial-Bewertung sowie ein Glossar und ein Stichwortverzeichnis.
Kunz und Prochaska zitieren in PHP-Sicherheit Security-Guru Bruce Schneier mit den Worten "Security is a process, not a product." -- das Motto passt auf ihr Buch wie gegossen, denn sie vermitteln Sicherheit nicht als Hindernis oder Erschwernis, sondern als Teil des PHP-Datenbank-Ganzen. Ein "Must-have" für alle PHP-Programmierer, die sich und ihre Arbeit ernst nehmen. --Wolfgang Treß