Services webmasters
Partenaires
Jeux concours gratuits
 
is_readable
<<<
is_uploaded_file is_writable
>>>

7.29 Système de fichiers
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
Voir aussi
basename
chgrp
chmod
chown
clearstatcache
copy
delete
dirname
disk_free_space
disk_total_space
diskfreespace
fclose
feof
fflush
fgetc
fgetcsv
fgets
fgetss
file_exists
file_get_contents
file_put_contents
file
fileatime
filectime
filegroup
fileinode
filemtime
fileowner
fileperms
filesize
filetype
flock
fnmatch
fopen
fpassthru
fputs
fread
fscanf
fseek
fstat
ftell
ftruncate
fwrite
glob
is_dir
is_executable
is_file
is_link
is_readable
->is_uploaded_file
is_writable
is_writeable
link
linkinfo
lstat
mkdir
move_uploaded_file
parse_ini_file
pathinfo
pclose
popen
readfile
readlink
realpath
rename
rewind<

7.29.57 is_uploaded_file() Indique si le fichier a été téléchargé par HTTP POST

[ Exemples avec is_uploaded_file ]   PHP 3>= 3.0.17, PHP 4 >= 4.0.3

bool  is_uploaded_file ( string   filename )

is_uploaded_file est disponible à partir des versions PHP 3.0.16 et 4.0.2.

is_uploaded_file retourne TRUE si le fichier filename a été téléchargé par HTTP POST. Cela est très utile pour vous assurer qu'un utilisateur n'essaie pas d'accéder intentionnellement à un fichier auquel il n'a pas droit (comme /etc/passwd ).

Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révélent leur contenu à l'utilisateur, ou même aux utilisateurs du même système.

is_uploaded_file est disponible dans les versions de PHP 3 après PHP 3.0.16, et dans les versions de PHP 4 après la 4.0.2. Si vous êtes coincés avec une version plus ancienne, vous pouvez utiliser l'une des fonctions suivantes pour vous protéger :
Note

L'exemple suivant ne fonctionne pas avec les versions de PHP ultérieures à la 4.0.2. Elle dépend de fonctionnalités internes de PHP qui ont disparu après cette version.


<?php
/* Test utilisateur du fichier téléchargé. */
function is_uploaded_file($filename) {
    if (!
$tmp_file = get_cfg_var('upload_tmp_dir')) {
        
$tmp_file = dirname(tempnam('', ''));
    }
    
$tmp_file .= '/' . basename($filename);
    
/* L'utilisateur peut avoir laissé des / finaux dans php.ini... */
    
return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

/* Voici comment l'utiliser, car move_uploaded_file() n'est pas disponible
   dans les anciennes versions : */
if (is_uploaded_file($HTTP_POST_FILES['userfile'])) {
    
copy($HTTP_POST_FILES['userfile'], "/dossier/ou/placer/un/fichier/uploadé");
} else {
    echo
"Tentative d'attaque possible : '$HTTP_POST_FILES[userfile]'.";
}
?>

Voir aussi move_uploaded_file .

<< is_uploaded_file >>
is_readable Système de fichiers is_writable
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -