WICHTIGAufgrund von Erfahrungen und Angriffen auf andere Webseiten ...
!!! Parameter von außen ($_GET, $_POST) sollten immer valdiert werden !!!Bei
$_GET['topnav']kann man mit "
preg_match()" und regulären Ausdrücken überprüfen, ob es zu keiner "
Injection" (Code oder SQL oder ... oder ... oder) kommt.
Noch sicherer wäre einen Array für die Navigation zu erstellen, gegen den PHP dann prüft:
<?php
(...)
$topnav_content = (in_array($_GET['topnav'], $complete_navigation))
? $_GET['topnav']
: HOME;
(...)
?>"$complete_navigation" enthält dann die gesamte Navigation, die über die "meta.xml" ausgelesen werden kann. Siehe dazu die Datei "class_page_meta_xml.php".
In der Standard-Version vom mwCMS ist ein Angriff darüber nicht möglich, weil die "
file_get_content()" immer von der Konstante "SERVER" abhängig ist und die "
fopen()"-Aktionen immer die Datei "meta.xml" nur lesend zugegriffen wird. Der Wert "meta.xml" ist von außen nicht veränderbar.
Gruß
Claus