Hallo Community,
auf php.net und php-faq.de kann man einige sehr gute Artikel über die Sicherheit von PHP-Skripten lesen.
Auch im SelfHTML Forum habe ich schon nette Hinweise zum Thema Sicherheit bekommen.
Zu meiner Frage:
Als Beispiel mal eine Klasse für ein Upload-Script. In der Admin-Oberfläche können Dateien hochgeladen werden.
class upload {
var $output;
var $upload_file;
function delete_file($dir) {
$this->upload_file = unlink($dir);
}
function move_file($temp, $destination) {
$this->upload_file = move_uploaded_file($temp, $destination);
return $this->upload_file;
}
}
Funktionieren tut es, nur ist es auch besonders sicher? Nein. Nun gut, man kann es auch übertreiben, schließlich kann nur der Admin Dateien hochladen.
Aber es geht um's Prinzip.
Wenn man das Ganze noch ausbreitet, könnte man fragen: Wie sieht ein gutes PHP-Script überhaupt aus, d.h. von der Strukturierung?
Wenn ich, als Beispiel, ein kleines (winziges...) CMS schreibe, welches nur aus Schreiben, Editieren, Löschen und dem Upload von Bildern besteht, sollte ich dann schon die einzelnen Funktionen der admin.php auslagern und in eine Datei quetschen? Ich will keinen Glaubenskrieg anzetteln, nur findet man massenhaft Tutorials über PHP die den Anfängern erklären wie man was realisiert, nur kommt da im Endeffekt ziehmlich viel Müll raus.
Reicht es, einfach mit addshlashes, htmlspecialchars und mysql_real_escape_string zu arbeiten oder sollte man eine "Sicherheits-Klasse" zur Überprüfung als Standard ansehen? Wo sind die Grenzen bei Code-Komplexität, Usability und Sicherheit?
Just my 2 cents.
MfG Philippé