Uploader un fichier sans passer par Parcourir - PHP - Programmation
Marsh Posté le 23-10-2007 à 11:22:43
On ne peut pas pour des raisons de sécurité. Ca voudrait dire qu'on pourrait uploader un fichier arbitraire sans intervention de l'utilisateur, autrement dit bonjour le bordel...
Marsh Posté le 23-10-2007 à 15:23:26
C'est possible en quoi alors ?
Sinon moi je veux bien une intervention de l'utilisateur mais pas un parcourir, c'est trop fastidieux pour un béotien. Par exemple, mettre une valeur par défaut dans le champ parcourir, ce serait pas possible ?
Marsh Posté le 23-10-2007 à 15:38:10
hal9100 a écrit : Sinon moi je veux bien une intervention de l'utilisateur mais pas un parcourir, c'est trop fastidieux pour un béotien.? |
Bof... C'est quand-même pas compliqué, ils utilisent bien des trucs styles word ou excel et la boîte de dialogue "ouvrir"... Même si je suis d'accord qu'il faut rester simple et faire gaffe aux grands-débutants, vouloir éviter la sélection d'un fichier est strictement impossible.
Sinon, autant carrément utiliser une reconnaissance vocale, les pauvres, imaginent s'ils doivent utiliser une souris, c'est trop compliqué
Marsh Posté le 26-11-2007 à 17:02:36
Alors là j'en reviens pas, quelqu'un qui a exactement le même problème que moi !!!
hal9100 , j'aurai pu écrire ton message...
Bon, allons au but de mon message , as-tu trouvé une solution ??
Je dois aussi pré-remplir mon champ upload pour des raisons identiques aux tiennes, ou me positionner directement là ou il faut quand je fais "parcourir".
Help ...
Marsh Posté le 26-11-2007 à 17:23:24
je forme à la sécurité informatique de temps en temps et j'ai testé ce genre de fonctionnalité attaque il y a à peine une semaine,
avec ce code :
Code :
|
et dans la console d'erreur de firefox :
Erreur : uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "file:///home/kaspa/tmp_ici/index.html Line: 12"]
ca à le mérite d'etre clair :
Marsh Posté le 25-02-2009 à 11:54:12
Problème du même genre : je veux uploader un fichier précis, celui-là et pas un autre (par exemple toto.txt). Je ne veux pas que l'utilisateur soit obligé de parcourir ses répertoires. Il clique sur le bouton submit et le fichier est envoyé au serveur.
Il est vrai que le procédé peut être dangereux, par exemple pour piquer des infos. Il peut également être détourné pour envoyer du code pourri au serveur. De toute façon, l'upload présente des problèmes de sécurité.
Marsh Posté le 25-02-2009 à 12:11:32
J'ai pas fais le tests avec un input de type file en hidden et en le remplissant avec un chemin de fichier via du JS mais j'ai eu une problématique y'a quelques temps pour le soft Astres (cf ma signature). Dans l'IHM de base, pour attacher un fichier à une demande, l'utilisateur devait cliquer, à partir de la fiche de la demande, sur un bouton qui ouvrait une nouvelle page où y'avait le formulaire de téléchargement. Une fois le fichier téléchargé, il devait refermer cette fenêtre et rafrachir la fiche de sa demande pour voir le fichier attaché. Il devait réitérer la manip autant de fois que de fichiers à attacher. Pour améliorer l'ergonomie, je me suis dit qu'un plugin en JS (avec de l'ajax) + un peu de PHP qui viendrait, à la volée, modifier directement l'IHM existante et viendrait coller dans la fiche de la demande le formulaire de téléchargement serait une bonne idée.
Je code mon truc et là, le drame, ça fonctionne pas car en cherchant sur le web, je m'apperçois qu'Ajax n'accepte pas un enctype de type multipart/form-data
Dégoûté d'avoir fait tout ça pour rien, je poursuis ma recherche des fois fois qu'il y aurait un moyen de contourner le pb et je tombe sur ce bout de code :
Code :
|
Pour firefox (v2.x.x.x, pas testé sur la 3), faut modifier une option de sécurité dans son profil pour que ça marche. Pour IE6, y'a rien à faire, ça marche tout seul.
Donc je serais pas aussi catégorique que vous sur l'impossibilité de la chose...
Marsh Posté le 25-02-2009 à 12:15:50
Pour compéter ma réponse, voici qq sites intéressants :
http://www.captain.at/ajax-file-upload.php (là où j'ai pompé mon code il me semble)
https://developer.mozilla.org/en/Co [...] e_I%2F%2FO
Marsh Posté le 25-02-2009 à 14:39:24
Négatif pour Ajax : le client est un Pocket PC, qui ne comprend rien à Ajax. Alors à part envoyer le fichier par mail, pour l'instant je ne vois pas trop de solutions.
Une solution à peu près acceptable passerait par l'upload standard : un input de type file avec le paramètre enctype="multipart/form-data". Cela affiche une liste des fichiers disponibles, mais sans filtrage des types de fichiers. Il faudrait pouvoir poser un filtre sur le nom des fichiers visibles des façon à ne pas envoyer n'importe quoi (qui sera refusé par le serveur via le programme upload.php, mais ce n'est pas une raison pour envoyer des fichiers au hasard).
La question devient donc : comment filtrer les fichiers proposés à l'upload ?
Marsh Posté le 25-02-2009 à 15:58:16
j'avais pas vu ton 2ième message disant que c'était sur pda. Donc c'est mort en html/JS Par contre, y'a pas des API en java pour les PDA? Parce que tu pourrais faire un programme en java (ou en C/C++ après tout). dans ton 1er message, t'as juste parlé de script, mais c'est pas forcément un script en techno web finalement...
Marsh Posté le 23-10-2007 à 11:20:38
Bonjour,
Je voudrais savoir comment faire pour créer un script qui uploade automatiquement un fichier situé dans un répertoire précis, donc sans passer par le bouton parcourir créé automatiquement avec un <input type=file>.
Au besoin, je suis prêt à ajouter plusieurs boutons de confirmation mais je veux que n'importe quel handicapé de l'informatique puisse m'envoyer son fichier sans difficulté.