Hi!
Das ist überflüssig. Mediawiki schützt Dateien, die nicht direkt aufgerufen werden dürfen (von denen es noch mehr als nur die LocalSettings.php gibt), mit etwas Code am Anfang gegen weiteres Ausführen.
Also zumindest hilft es, wenn wegen zum Beispiel eines Konfigurationsfehlers PHP nicht ausgeführt wird und stattdessen der PHP-Code als Plaintext ausgegeben wird. Es muss jedoch immer noch die .htaccess geparst werden können.
Doch nicht etwa mit sowas:
if ( __FILE__ == $_SERVER['SCRIPT_NAME'] ) {
header ("Error: 404 Forbidden");
exit;
}
Nein, eher sowas
if( !defined( 'MEDIAWIKI' ) )
die( -1 );
Allerdings war meine Erinnerung falsch, ich fand das jetzt nicht in der LocalSettings.php sondern vor allem in den Extensions. Die LocalSettings.php hat jedoch auch nicht die Aufgabe, irgendetwas auszugeben oder etwas wichtiges zu verändern. Sie initialisiert eigentlich nur Variablen. Es werden zwar auch noch Extensions inkludiert, die haben jedoch per Konvention den Selbstschutz eingebaut. Die erste Extension führt also üblicherweise schon zum Abbruch. Es ist somit lediglich der Plaintext-Fehlerfall zu beachten, wenn man Grund zur Annahme hat, dass man sich weswegen auch immer sein PHP konfigurationsmäßig aus dem Apache ausschließt.
Andere Dateien, die nur eine Klasse definieren, benötigen den Selbst-Schutz nicht, weil ebenfalls nichts ausgeführt wird. Zudem ist der Code ja sowieso öffentlich, braucht also auch keinen Sichtschutz, wenn PHP ausfällt.
Lo!