Gold Vision Communications / USA
 GOLDVISION.COM
Serving the Multimedia Community since 1989.
English Site | Spanish Site 

 Allgemeines

 Web Hosting

 Virtual Dedicated Servers

 Domaincheck

 Bestellen

 Order Status

 Support

 Kontakt

 Download

 Network

 Network Status

 Webdesign Partner

 Kreditkartenzahlung

 AGB

 Impressum

 Rechtliche Hinweise

 Datenschutz
  PHP / is_uploaded_file
is_uploaded_file

is_uploaded_file

(PHP 3>= 3.0.17, PHP 4 >= 4.0.3)

is_uploaded_file -- Prüft, ob die Datei mittels HTTP POST upgeloaded wurde

Beschreibung

bool is_uploaded_file ( string filename)

Gibt TRUE zurück, wenn die Datei filename mittels HTTP POST upgeloaded wurde. Das ist hilfreich sicherzustellen, dass kein böswilliger User versucht hat das Script zu überlisten, indem er es Dateien bearbeiten lässt, die es gar nicht bearbeiten sollte. Zum Beispiel /etc/passwd.

Diese Prüfung ist speziell dort interessant, wo irgendeine Aktion mit upgeloadeten Dateien deren Inhalt dem User zugänglich machen könnte (oder auch anderen Usern auf dem selben System).

is_uploaded_file() ist in PHP 3 nur nach Version 3.0.16, und in PHP 4 nur nach Version 4.0.2 verfügbar. Sollten Sie eine frühere Version benutzen, können Sie sich mit der folgenden Funktion weiterhelfen:

Anmerkung: Das folgende Beispiel funktioniert nicht in Versionen nach PHP 4.0.2. Das liegt an der internen Funktionalität von PHP, welche sich nach dieser Version geändert hat.

<?php
/* Userland Test für hochgeladene Datei. */
function is_uploaded_file($filename) {
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
        $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* Der Benutzer könnte einen führenden Slash in php.ini haben... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

/* So verwenden Sie sie, nachdem Sie in diesen älteren
 * Versionen auch keine move_uploaded_file() haben: */
if (is_uploaded_file($HTTP_POST_FILES['userfile'])) {
    copy($HTTP_POST_FILES['userfile'], "/place/to/put/uploaded/file");
} else {
    echo "Mögliche Dateiupload-Attacke: Dateiname '$HTTP_POST_FILES[userfile]'.";
}
?>

Siehe auch move_uploaded_file(), und das Kapitel Steuerung von Dateiuploads für ein einfaches Anwendungsbeispiel.


© 1998-2007 Gold Vision Communications All Rights Reserved.