Welche Sicherheitslücken können beim Einbinden von Dateien mit dem include-Befehl in PHP auftreten und wie können sie vermieden werden?

Beim Einbinden von Dateien mit dem include-Befehl in PHP können Sicherheitslücken entstehen, wenn unsichere Dateipfade verwendet werden oder wenn die Dateien nicht ausreichend validiert werden. Um diese Sicherheitslücken zu vermeiden, sollte man immer absolute Pfade verwenden und sicherstellen, dass nur erlaubte Dateien eingebunden werden.

$allowed_files = array('file1.php', 'file2.php');
$file_to_include = 'file1.php';

if (in_array($file_to_include, $allowed_files)) {
    include '/path/to/includes/' . $file_to_include;
} else {
    echo 'Access denied.';
}