Herzlich willkommen im SEO Forum der ABAKUS Internet Marketing GmbH
registrieren registriertes Mitglied
Auch da gibt es aber schon gute Lösungen, bis hin zu welchen, die ganz ohne DB auskommen.Melegrian hat geschrieben:Weil ein kleines schneller ist, weniger DB-Abfragen benötigt, bestenfalls nur eine für die Beitragsseiten
Ja sicherlich, ich bezog das auch mehr auf CMS, die bereits um die Tausend Scriptseiten nach der Installation enthalten, mehrsprachig ausgelegt sind, obwohl nicht benötigt, spätestens nach dem 20. Plugin so unsicher sind, wie ein offenes Scheunentor usw..e-fee hat geschrieben:Auch da gibt es aber schon gute Lösungen, bis hin zu welchen, die ganz ohne DB auskommen.
Ich kann mir auch ein kleines, vierrädriges Gefährt selbst zusammenschweißen - reicht doch, um von A nach B zu kommen?
Na, ich bin da jetzt nicht gerade sehr optimistisch. Schon alleinMelegrian hat geschrieben:Ja sicherlich, ich bezog das auch mehr auf CMS, die bereits um die Tausend Scriptseiten nach der Installation enthalten, mehrsprachig ausgelegt sind, obwohl nicht benötigt, spätestens nach dem 20. Plugin so unsicher sind, wie ein offenes Scheunentor usw..e-fee hat geschrieben:Auch da gibt es aber schon gute Lösungen, bis hin zu welchen, die ganz ohne DB auskommen.
Ich kann mir auch ein kleines, vierrädriges Gefährt selbst zusammenschweißen - reicht doch, um von A nach B zu kommen?
Und wer weiß schon, vielleicht ist ja sein kleines CMS sicher und gut.
klingt nach 'ner tollen Möglichkeit für SQL-Injections und ähnliche Scherze. Schreib ich jetzt als jemand, der auch nicht viel Ahnung von Detailfragen zur Absicherung hat, aber ich kenne meine Grenzen. Trial&Error ist da nicht so gut.Alles was hinter dem Domainnamen steht, wird in einer DB gesucht uns wenn es einen Match gibt, wird dieses Element geladen.
Code: Alles auswählen
"www.example.com/heimtiere/kleine-katzen.html"
"www.example.com/heimtiere/junge-hunde.html"
"www.example.com/events/rasseschau-2016.html"
Code: Alles auswählen
RewriteCond %{QUERY_STRING} !^.*nur=so$
RewriteCond %{QUERY_STRING} ^kategorie=heimtiere&beitrag=([a-z_-]+)$
RewriteRule ^bord/beitraege.php /heimtiere/%1.html? [L,R=301]
RewriteRule ^heimtiere/([a-z_-]+)\.html$ /bord/beitraege.php?kategorie=heimtiere&beitrag=$1&nur=so [QSA,L]
RewriteCond %{QUERY_STRING} !^.*nur=so$
RewriteCond %{QUERY_STRING} ^kategorie=events&beitrag=([a-z0-9_-]+)$
RewriteRule ^bord/beitraege.php /events/%1.html? [L,R=301]
RewriteRule ^events/([a-z0-9_-]+)\.html$ /bord/beitraege.php?kategorie=events&beitrag=$1&nur=so [QSA,L]
Code: Alles auswählen
if (isset($_GET["kategorie"])
and !empty($_GET["kategorie"])
and isset($_GET["beitrag"])
and !empty($_GET["beitrag"])) {
// GET oder POST muss immer gefiltert werden.
$var_kategorie = preg_replace("/[^a-z_-]/", "", $_GET["kategorie"]);
$var_beitrag = preg_replace("/[^a-z0-9_-]/", "", $_GET["beitrag"]);
// Hier könnte eigentlich bereits eine Abfrage als Prepared Statement erfolgen.
// $sqli muss vorher noch definiert werden, am besten in einer Klasse.
if ($stmt = $sqli->prepare("
SELECT kategorie, seite, titel, text
FROM ausgewaehlte_tabelle
WHERE kategorie = ?
AND seite = ?
")) {
$kategorie = $var_kategorie;
$seite = $var_beitrag;
$stmt->bind_param("ss", $kategorie, $seite;
$stmt->execute();
$stmt->bind_result($kategorie, $seite, $titel, $text);
// Vorbereitung für Ausgabe ab hier ...
// Ohne store_results wird je nach PHP-Version nur 0 geliefert.
$stmt->store_result();
$ergenis = $stmt->num_rows; // 1 oder 0
$stmt->close();
}
if ($ergenis == 0) {
// Weiterleitung falls nichts gefunden.
}
}
else {
// Weiterleitung falls ein Fehler auftritt.
}