Hi!
Es geht darum, sicherzustellen, dass keiner unrechtmäßiger Weise sich Zugriff auf Funktionen besorgen kann, die er nicht erreichen soll. (Die Sachen sind nur im geschützten LogIn-Bereich verfügbar).
Bislang sieht es so aus (das funktioniert auch - erscheint mir aber u.U. zu umständlich):
Es gibt eine zentrale index.php - in der steht ein "<? session_start(); ?>" am Anfang drin und bei erfolgreichem LogIn wird in $_SESSION passendes eingetragen. Alle Inhaltsdateien werden nur in diese index included - auf ein Aufruf der Datei test.php erfolgt über ?site=test
Um jetzt die Datei test.php vor bösen Menschen zu schützen sieht sie so aus;
Code:
if (!(isset($_SESSION['userID'])))
{
echo "<meta http-equiv='refresh' content='1;
URL=./'>";
echo "Login erforderlich</div>
";
echo "Sollten Sie nicht weitergeleitet werden, klicken Sie [
url='./']hier[/
url]!";
}
else {
/* EIGENTLICHER INHALT */
}
Da das in allen Dateien drinsteht, sind Änderungen mehr als lästig...
Jetzt kam die Idee auf, man könne das ja vllt. alles in einen Funktionsaufruf auslagern.
Wunschvorstellung wäre, das die test.php dann nur noch so aussieht:
Code:
check();
/* EIGENTLICHER INHALT */
Die Frage wäre jetzt, schafft man es, eine solche Funktion check() zu schreiben die in 100% (also wirklich 100%) aller denkbaren Fälle sicherstellt, dass niemand den eigentlichen Inhalt zu sehen bekommt, der ihn nicht sehen sollte. Durch den Verlust der if-else-Struktur würde ich u.U. befürchten, dass jemand den Reload abbrechen könnte oder ähnliches.
Grüße, Frederic