nouvelle extension pour script upload file

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 : nouvelle extension pour script upload file

Re: nouvelle extension pour script upload file

par LDL » 04 avr. 2011, 13:29

.


ah merci.
oui ton explication est simple pour un newbie comme moi.
Dans le fichier .htaccess faut il un script particulier ?

Sinon un fichier index.php dans le repertoire ou les fichiers sont charges, avec un script de redirection
vers la racine qui serait l'index.html, je suppose que ca fait pas l'affaire, c'est pas pareil n'est-ce-pas ?


.

Re: nouvelle extension pour script upload file

par Mazarini » 04 avr. 2011, 13:19

Bonjour,

Pour limiter les risques liés à l'upload, il ne faut pas stocker les fichiers dans un répertoire accessible depuis un navigateur donc via Apache. Dans le cas d'un hébergement mutualisé, mettre un .htaccess pour interdire la lecture du répertoire.

L'accès au fichier se fait alors via un readfile() précédé d'un header() dans un script php. Il n'y a alors pas de risque d'exécution des fichiers uploadés.

Re: nouvelle extension pour script upload file

par LDL » 04 avr. 2011, 12:31

.


hi merci pour ton aide.....

En fait j'ai trouve un script sur quelqu'un qui avait aussi un probleme du meme genre, il a rajoute
le mime type en plus, comme suit :
application/octet-stream

du coup, maintenant ca fonctionne, chic !

Par contre, en faisant ces autres recherches hier, je suis tombe sur une note comme qui c'est dangereux l'upload de fichiers via php
sur son hebergement, car quelqu'un de malveillant peut mettre un script a l'interieur d'un fichier et faire ce qu'il veut,
mais je sais pas trop si on peut eviter ca ou pas....

est-ce vrai ?


.

Re: nouvelle extension pour script upload file

par moogli » 04 avr. 2011, 11:48

Comment a tu placé le message ? (dans le else ?)
Fait voir ce code.

A tu un exemple de fichier valide que je puisse tester ?

@+

Re: nouvelle extension pour script upload file

par LDL » 04 avr. 2011, 01:47

.


Effectivement il y a un problème apparemment sur le MIME type....

J'ai changé la dernier ligne de mon code en :
echo "Invalid file [".$_FILES["file"]["type"]."]";

et j'obtiens un :
Invalid file [application/octet-stream]


Si je me réfère a la documentation de référence de ce genre de fichiers pour le problème de MIME type ici :
http://gobase.org/software/sgfformat/SG ... f_mimetype

le MIME type serait :
application/x-go-sgf

Si je me réfère au seul qui actuellement est arrivé a mettre en ligne une page upload pour ce type de fichiers ici :
http://eidogo.com/upload

Sa note de travail justement sur le problème des MIME type de ces fichiers ici :
http://code.google.com/p/eidogo/issues/detail?id=10
http://code.google.com/p/eidogo/issues/ ... 3414c7da31

Il précise le MIME type adéquat a utiliser :
- text/plain
- application/x-go-sgf


J'ai mis ces 2 MIME types de cette manière :

if ((($_FILES["file"]["type"] == "text/plain")
|| ($_FILES["file"]["type"] == "application/x-go-sgf")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000))

même message d'erreur :
Invalid file [application/octet-stream]


Quelqu'un a t'il une idée ? Ou je me suis trompé quelque part peut-être dans mon bout de code....
:(


.

Re: nouvelle extension pour script upload file

par moogli » 03 avr. 2011, 23:56

salut,

je te conseil d'essayer un upload et d'afficher $_FILES["file"]["type"] afin de voir a quoi correspond le type mime de ton fichier.


@+

nouvelle extension pour script upload file

par LDL » 03 avr. 2011, 17:00

.


Bonjour a tous,


J'utilise un script pour une page permettant de charger des fichiers vers mon hebergement, qui fonctionne tres bien avec l'extension actuelle,
mais je voudrais les remplacer par l'extension de fichiers sgf (fichier texte au format smart game pour jeux de reflexion),

mon probleme est que il refuse l'extension, j'ai tout essaye, en vain.

1- J'ai essaye de remplace la premier ligne image/jpg par text/sgf, il me dit invalid file
2- j'ai garde la premier ligne et rajouté un fermer parenthèse, et supprimé les ligne 3 et 4, n'ayant pas besoin des extensions jpeg et pjeg, ll me dit invalid file
3- j'ai essaye de remplacer les trois lignes par text/sgf, pareil, meme probleme.....
(bon comme vous vous en etes apercu, je n'y connais rien malheureusement...)

voici mon script php :

Code : Tout sélectionner

<?php if ((($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 2000000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>

Quelqu'un pourrait il m'aider ?
Merci vraiment beaucoup d'avance.....
:)



.