Le nom des images temporaires

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Le nom des images temporaires

par agité » 21 juin 2006, 18:25

Ok c'est ce que je risque de faire mais moi je refuse directement tout .php ou autre script c'est juste de l'upload d'image en tout cas en utilisant le "name" tout passe sans problème.

Je met donc [Resolu] et merci pour ces reponses fortes instrutives

EDIT : ah non je peux pas mettre resolu n'etant pas l'auteur du sujet !

par Ryle » 21 juin 2006, 18:09

Pour le coup du "hack.php", dans son nom temporaire, le fichier n'a pas d'extension (php ou autre) il est donc impossible que ton serveur l'exécute si jamais quelqu'un avait accès au dossier temporaire et parvenait par hazard à retrouver le nom qui lui a été assigné.

En revanche à toi d'assurer un minimum de sécurité en filtrant les fichiers à risque lors du move_upload_file()... personnellement je rajoute un .txt à tout fichier avec l'extension .php* que j'upload avant de le déplacer :)

par Devether » 21 juin 2006, 17:57

de toute foçon quand tu proposes de telecharger un image tu dois bien donner un champ de saisie pour rentrer le chemin du fichier. Donc ton controle tu le fais sur la variable qui contient le nom du fichier.

par mere-teresa » 21 juin 2006, 17:55

Le TEMPDIR est régulièrement nettoyé :) puisque par défaut il s'agit du répertoire /tmp et c'est là que le serveur load ton fichier...

par agité » 21 juin 2006, 17:46

mouais donc si un fichier ne respecte pas la taille que je veux il l'upload quand même c'est pas terrible quand même ou pire si on m'upload un hack.php je l'upload avant de le verrifier ?

je trouve pas ca logique.

par Ryle » 21 juin 2006, 17:38

Tu ne peux absolument rien faire en php sur le fichier tant que celui-ci n'a pas été uploadé sur le serveur... les seuls controles que tu peux effectuer sont ceux faisables en javascript ou html sur le formulaire (ce qui doit se limiter à quelque chose comme récupérer l'extension, limiter les types mimes autorisées avec certains navigateurs, etc.)

Une fois le fichier uploadé sur le serveur par contre tu peux utiliser php pour connaitre la taille, le type mime etc. et savoir si tu le déplaces ou non hors du dossier temporaire

par agité » 21 juin 2006, 17:32

justement en fait j'upload le fichier mais je veux faire des verif avant de le telecharger sur mon FTP.

Ce que je veux c'est tester le fichier avec le nom tmp_name pour par exemple tester l'extension !

Une idée ?

par mere-teresa » 21 juin 2006, 17:03

$_FILES['userfile']['name']

Le nom original du fichier, tel que sur la machine du client web.
$_FILES['userfile']['tmp_name']

Le nom temporaire du fichier qui sera chargé sur la machine serveur.
$_FILES['userfile']['error']
Ce tpm_name est en fait le nom bizarre quand tu charges réellement le fichier sur le serveur, il le met dans un répertoire temporaire (paramétrable dans php.ini).
Ensuite, avec move_uploaded_file() tu le déplaces là où tu veux.

par Orni » 21 juin 2006, 16:58

Pour "tmp_name" c'est totalement normal qu'il te retourne un nom pareil, mais pour "name" il doit te retourner le nom du fichier que tu lui as envoyé.

par agité » 21 juin 2006, 16:46

excusez moi je ne m'etais pas log :evil:

Le nom des images temporaires

par Invité » 21 juin 2006, 16:46

Quand j'upload une image et que j'essaye d'afficher le nom ou le nom temporaire il me retourne toujours des nom qui n'ont rien a voir avec ce que je cherche du type : /tmp/phpGVVb77 et je ne comprends pas pourquoi.

J'utilise :
echo $_FILES['photo']['tmp_name'];
ou
	echo $_FILES['photo']['name'];
mais toujours la même chose les 2 me retourne des noms etrange.

Je pensais que tmp_name etait le nom sur le disque local du client ...