Join Up!
104887 members and counting!

 
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links 
search for in the  
previousis_readableis_writablenext
Last updated: Mon, 28 Oct 2002
view the printer friendly version or the printer friendly version with notes or change language to Czech | Finnish | Spanish

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.

User Contributed Notes
is_uploaded_file
add a note about notes
There are no user contributed notes for this page.
previousis_readableis_writablenext
Last updated: Mon, 28 Oct 2002
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by: http://phpbuilder.com/
Last updated: Thu Oct 31 18:34:28 2002 EST