PHP - Sicherheit
Folgende wichtige Grundregeln sollten Sie beachten, wenn Sie PHP-Scripts entwickeln.
Alle Variablen vor ihrer Verwendung initialisieren
Nicht initialisierte Variablen unter Umständen über GET/POST/COOKIE-Werte überschrieben werden.
Beispiel
if ($_POST["password"] == "passwort") { $angemeldet = true; }
Die verwendete Variabel $angemeldet nicht im Vorfeld mit false initialisiert wurde, kann diese Variabel durch das übergeben von z.B $_GET ['angemeldet'] überschrieben werden (bei register_globals-Umgebungen, wie DanuserWebservice)
HTML aus Benutzereingaben filtern
Um das Risiko von Cross-Site-Scripting zu minimieren sollte über strip_tags() oder ähnliche Funktionen sollte HTML und JavaScript aus allen Benutzereingaben gefiltert werden, bevor diese auf der Webseite angezeigt werden.
SQL-Injektionen vorbeugen
Wenn Variablen in SQL-Statements verwendet werden unbedingt entsprechende escaping-Funktionen nutzen, z.B. mysql_real_escape_data() um sicherzustellen, dass nur die erwarteten Werte in die DB geschrieben werden.
Serverinformationen nicht öffentlich bereithalten
Um 'Information Disclosures' vorzubeugen sollte so wenig wie möglich über die Serverumgebung bekannt gegeben werden - insbesondere öffentlich phpinfo()-Skripte sollten vermieden werden.
PHP-(Fehler-)Meldungen sollten ebenfalls nicht auf Liveseiten angezeigt werden - besser alle Meldung in eine Datei schreiben lassen und lokal auswerten.
