Erstellung war ich PHP-Lösungen zu lesen und kam von Code über diese Zeilen, die mich verwirrt, und es wäre toll, wenn mir jemand die Bedeutung herauszufinden helfen könnte.einen Download-Link mit PHP
// define error page
$error = 'http://localhost/phpsols/error.php';
// define the path to the download folder
$filepath = 'C:/xampp/htdocs/phpsols/images/';
$getfile = NULL;
// block any attempt to explore the filesystem
if (isset($_GET['file']) && basename($_GET['file']) == $_GET['file']) {
$getfile = $_GET['file'];
} else {
header("Location: $error");
exit;
}
Auf der 7. Zeile von Codes, warum sollte basename($_GET['file'])
nicht gleich $_GET['file']
?
Hallo zeichnete, danke für die Antwort! Nur noch eine weitere Frage: In der zweiten Zeile des Codes ist bereits angegeben, in welchen Ordner man schauen soll, wäre das nicht schon theoretisch sicher? Wenn ich 'download.php? File = .../index.php' ausprobiert habe, würde die Datei – Gnahzllib
nicht anzeigen. Das' ..' könnte immer noch verwendet werden, um abwärts zu gehen, weil 'C:/xampp/htdocs/phpsols/images/'mit' $ _GET ['file'] = '../../../../ windows/system32/file' würde sich auf 'C: /' + auflösen, egal welcher Pfad nach den Punkten war. – drew010
also '$ _GET ['file'] = '../../../../ windows/system32/file' wird' C:/windows/system32/file'? – Gnahzllib