PHP: Mehr Sicherheit beim Einbinden von Include-Dateien

Falls Sie Include-Dateien über Variable aufrufen, zum Beispiel per

include $myinclude;

haben Sie ein Sicherheitsrisiko. Gelingt es einem Angreifer auf einem nicht mit register_globals_off gesichertem System die Variable $myinclude zu manipulieren, kann er Inhalte seiner eigenen Seite einschmuggeln, indem er hier eine URL-Adresse eingibt, etwa

http://boeseseite.xy/angreifer.php

Um das zu verhindern, prüfen Sie zunächst das Vorhandensein der Include-Datei mit file_exists:

<?php

$myinclude = ‘functions.php’;

if (file_exists($myinclude))

require $myinclude;

?>

Damit stellen Sie sicher, dass die Datei auch wirklich auf dem Dateisystem Ihres Servers vorhanden ist und nicht von außen kommt. Generell sollten Sie bei Includes aber nach Möglichkeit auf Variable verzichten.

Ähnliche Beiträge

    None Found