dedlfix: Menue in Homepage funktioniert nicht mehr

Beitrag lesen

Hi!

Na das sieht doch schon mal ganz gut aus. Was ich aber an deiner Stelle machen würde (beziehungsweise ich habe es mir angewöhnt), Variablen unterschiedlich zu benennen. Denn $_GET['site'] und $site kommen sich in die Quere, früher oder später.

Wieso sollten sich ein Array-Element und eine Variable in die Quere kommen? Noch dazu wo in diesem speziellen Fall register_globals abgeschaltet wurde.

include ("/home/www/$site");

Absolute Pfadangaben sollten nicht benutzt werden. Nimm lieber relative Pfadangaben: include("config/conf.php"); oder so ähnlich. Vielleicht hat PHP 5 aus Sicherheitsgründen absolute Pfadangaben unterbunden, ich weiß es nicht.

Das Argument kann ich überhaupt nicht nachvollziehen. Zum einen existiert PHP5 bereits seit Jahren und es hat diesbezüglich nichts unterbunden. Zum anderen gäbe es da an Sicherheit nichts zu gewinnen, was nicht auch bereits über das existierende Rechtesystem möglich ist. PHP wird sicherlich nichts am Dateisystemzugriff einschränken. Im Gegenteil, der Safe Mode wurde auf die schwarze Liste gesetzt, weil dieser eine Sicherheit bringen sollte, die gar nicht PHPs Aufgabe ist. Selbst die open_basedir-Beschränkung fällt eigentlich nicht in PHPs Zuständigkeitsbereich.

Es ist sinnvoll, projektintern absolute Pfadangaben zu vermeiden, wenn man das Projekt flexibel im Dateisystem umherschieben möchte. Für eine generelle Missbilligung sehe ich aber keinen Grund. Auch zielführend wäre eine Konstante, die das Wurzelverzeichnis angibt und die zentral konfiguriert werden kann.

Lo!