Deiteiincludes ($pfad) per whitelist prüfen #53

Merged
niklas.ortmann merged 10 commits from AllowistDateiincludes into dev 2026-07-18 18:31:56 +02:00
Showing only changes of commit 423941e7ed - Show all commits
+22 -19
View File
@@ -2,7 +2,7 @@
// Standardpfad
$pfad = $_GET["pfad"] ?? "home";
// Allowlists
// Allowlist für alle gültigen Content-Seiten
$erlaubte_content_seiten = [
"accessibility", "confirm-password", "confirm-register", "createArticle",
"datenschutz", "home", "impressum", "login", "nutzungsbedingungen",
@@ -10,24 +10,27 @@ $erlaubte_content_seiten = [
"show-mail", "showArticle", "showCategory", "updateArticle"
];
$erlaubte_controller = [
"confirm-password", "confirm-register", "createArticle", "deleteAccount",
"deleteArticle", "home", "index", "like", "login", "logout",
"password-forgotten", "profile", "profileArticles", "register",
"search-results", "showArticle", "showCategory", "updateArticle"
];
// Controller laden
if (in_array($pfad, $erlaubte_controller)) {
include_once "php/controller/" . $pfad . "-controller.php";
// Sofortiger Abbruch bei zerstörenden Aktionen
if ($pfad === "logout" || $pfad === "deleteAccount") {
exit();
}
}
// Content-Validierung: Wenn der Pfad nicht erlaubt ist, dann 404
// Content-Validierung
if (!in_array($pfad, $erlaubte_content_seiten)) {
$pfad = "404";
}
// Controller laden
if ($pfad === "login") {
include_once "php/controller/login-controller.php";
} elseif ($pfad === "register") {
include_once "php/controller/register-controller.php";
} elseif ($pfad === "password-forgotten") {
include_once "php/controller/password-forgotten-controller.php";
} elseif ($pfad === "confirm-register") {
include_once "php/controller/confirm-register-controller.php";
} elseif ($pfad === "confirm-password") {
include_once "php/controller/confirm-password-controller.php";
} elseif ($pfad === "logout") {
include_once "php/controller/logout-controller.php";
exit();
} elseif ($pfad === "deleteAccount") {
include_once "php/controller/deleteAccount-controller.php";
exit();
}