Ich habe gerade so einen Fehler in meinem PHP-Skript behoben, das eine Logdatei fälschlicherweise nach C:\ geschrieben hat. Beim Löschen wurde ich nach Admin-Rechten dafür gefragt. Dabei ist mir aufgefallen: Warum durfte das PHP-Skript da überhaupt hinschreiben?
Und siehe da, der Apache-Prozess läuft mit der Berechtigung des Windows-Systemkontos. Der Webserver darf also grundsätzlich alles im System. Und PHP-Skripte auch, da sie ja als Modul im selben Prozess laufen.
Ist das nicht ein bisschen gefährlich? Also, ein bisschen sehr, sehr, sehr gefährlich? Nur so als Tipp: Webserver laufen üblicherweise mit extrem eingeschränkten Rechten. Z. B. Apache unter Linux oder IIS unter Windows. Denen muss man weiterführende Berechtigungen explizit erteilen, sonst kommen sie aus ihrer kleinen Welt nicht raus. Etwa so wie aktuelle Webbrowser.
Wenn ich nur meine eigenen Websites damit entwickle, kann ich mir nur versehentlich selbst ins Knie schießen. Aber sobald das Ding auch nur ansatzweise öffentlich hostet (wovon ja zunächst abgeraten wird, wofür dann aber doch noch Tipps gegeben werden, und die Sicherheit von Apache/PHP gehört nicht dazu) oder ich Fremdsoftware damit ausführe, ist es mit jeglicher Sicherheit vorbei. Das ist schlimmer als unbekannte Software runterzuladen und zu starten, denn die hat ohne Rückfrage nichtmal Adminrechte, geschweige denn Systemrechte.