Hallo!
Ich habe eine Homepage in PHP Programmiert, der Inhalt wird dabei mit index.php?content=xyz aufgerufen. Da sich der Inhalt auch in Unterordner befindet geb ich sozusagen die Ordnerstruktur in der Adresse mit, z.B. ?content=home.news.history zeigt die History an welche sich in home/news/history.php befindet.
Ich würde es anders machen.
if($_GET['content'] == "home"){
include("home.php");
} else if($_GET['content'] == "gb"){
include("gb/gb.php");
} else if($_GET['content'] == "foobar"){
include("foobar/foobar.php");
} else {
echo "Bitte lassen Sie die GET-Parameter unveräändert :-)";
}
Damit werden deine Parameter überprüft und es können nur die Seiten angezeigt werden, bei denen du das auch willst.
Seht Ihr dabei einen Nachteil?
Die Sicherheit könnte leiden. Aber das können wir nicht beurteilen, solange wir deinen Code nicht kennen. Und die Punkte als Ersatz für die "/" halte ich auch nicht für optimal. Ob es damit wirklich zu Problemen kommen könnte, weiß ich aber nicht.
z.B. Suchmaschinen welche damit nicht klarkommen?
Soweit ich weiß, haben Suchmaschinen (zumindest früher) zwischen "normalen" URLs (rezepte/pilz/index.html) und anderen URLs (index.php?content=pilzIndex) unterschieden. Ob das heute noch so ist, weiß ich nicht.
Oder ist es sowieso schlecht wenn der Pfad des Inhaltes in der URL zu sehen ist?
Du musst auf jeden Fall überprüfen, ob der Pfad im GET-Parameter dem entspricht, was du willst. Ich würde es so machen, wie oben.
ciao, ww
Schäuble:
"Wir können alles. Außer Rechtsstaat."