Editeur la valeur d'un champ input file

Editeur la valeur d'un champ input file - HTML/CSS - Programmation

Marsh Posté le 09-08-2004 à 14:14:51    

Bonjour,  
 
aprés avoir beaucoup cherché sur le forum et sur le net, je précise :)
je cherche comment éditer un champ input file dans un formulaire.  
 
En fait, j'ai un formulaire ou l'utilisateur poste un fichier, valide, et dans le cas ou il a pas rempli tous les champs on le renvoie sur la premiere page du formulaire.  
 
Et j'aimerai évidemment que le fichier posté la premiere fois avec l'input file soit gardé en mémoire ...
Est-ce possible ?  
 
Merci  :jap:


---------------
http://www.lolos.fr/
Reply

Marsh Posté le 09-08-2004 à 14:14:51   

Reply

Marsh Posté le 09-08-2004 à 15:10:41    

A mon avis la meilleure solution c'est de ne pas permettre l'envoi du fichier si tous les champs ne sont pas remplis...
ca simplifie le truc vu que qd c'est validé c que tout est bon.
Le mieux pour les formulaires c'est de vérifier avec javascript (donc avant l'envoi) à moins qu'il y ait des données critiques (mot de passe...)

Reply

Marsh Posté le 09-08-2004 à 15:28:45    

pkoi c pas bien de verifier le mot de passe avec javascript?

Reply

Marsh Posté le 09-08-2004 à 15:34:54    

pilsner> parce que ca peut ressembler à ca :

Code :
  1. function verifMdp () {
  2.   if (document.forms['ident'].elements['mdp'].value != 'm0t_d3_p4ss3') {
  3.     alert ('raté');
  4.     return false;
  5.   }
  6.   return true;
  7. }


bon, ici c extrême, mais il suffit de lire le code pour connaitre le mot de passe... et dans le cas général, comme la vérification se fait coté client, toutes les bidouilles sont permises pour faire croire que ca s'est bien passé même si c'est pas le cas.
 
alors que dans le cas d'une vérification coté serveur (php,asp...) on vérifie la correspondance de ce que le visiteur a tapé avec un truc dont il n'a pas connaissance (contenu de base de données...)


Message édité par gubug le 09-08-2004 à 15:37:29
Reply

Marsh Posté le 09-08-2004 à 17:30:37    

gubug a écrit :

A mon avis la meilleure solution c'est de ne pas permettre l'envoi du fichier si tous les champs ne sont pas remplis...
ca simplifie le truc vu que qd c'est validé c que tout est bon.
Le mieux pour les formulaires c'est de vérifier avec javascript (donc avant l'envoi) à moins qu'il y ait des données critiques (mot de passe...)


 
Ouaip,  
C'est ce que j'ai utilisé finalement pour mon formulaire. Il permet juste d'envoyer un fichier avec qques infos avec, son auteur, sa date, ....
 
Et finalement avec des messages alert() c'est pas non plus du tout non plus.  
 
Heu sinon pour en revenir au post initial, techniquement c'est pas possible de mettre une valeur dans un "input file", ou c'est juste trés compliqué ?


---------------
http://www.lolos.fr/
Reply

Marsh Posté le 09-08-2004 à 18:17:15    

roland77 a écrit :


Heu sinon pour en revenir au post initial, techniquement c'est pas possible de mettre une valeur dans un "input file", ou c'est juste trés compliqué ?


 
C'est possible, mais uniquement avec Opera.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-08-2004 à 10:21:52    

gubug a écrit :

pilsner> parce que ca peut ressembler à ca :

Code :
  1. function verifMdp () {
  2.   if (document.forms['ident'].elements['mdp'].value != 'm0t_d3_p4ss3') {
  3.     alert ('raté');
  4.     return false;
  5.   }
  6.   return true;
  7. }


bon, ici c extrême, mais il suffit de lire le code pour connaitre le mot de passe... et dans le cas général, comme la vérification se fait coté client, toutes les bidouilles sont permises pour faire croire que ca s'est bien passé même si c'est pas le cas.
 
alors que dans le cas d'une vérification coté serveur (php,asp...) on vérifie la correspondance de ce que le visiteur a tapé avec un truc dont il n'a pas connaissance (contenu de base de données...)


 
ah ok si on voit le mot de passe c clair que ca craint mais si par exemplle (c est ce que je fais) l utilisateur rentre un mot de passe et avant de l'envoyer vers le script (spécifié dans action) on le crypte (md5) par une fonction javascript ? la on voit pas le mot de passe dans le code? donc la ca craint pas?

Reply

Marsh Posté le 10-08-2004 à 10:58:33    

Dans tous les cas il vaut mieux une vérification serveur,
rien que pour le fait que javascript peut être désactivé.

Reply

Marsh Posté le 10-08-2004 à 10:59:19    

un champ input file est toujours Readonly, pour la simple et bonne raison que cela pourrait engendrer un problème de sécurité
rien n'empêcherai quelqu'un de faire ceci
 
<script>
form.fichier.value = 'c:\autoexec.bat;
form.submit();
</script>
 
<form>
<input type="file" name="fichier">
</form>
 
lors du chargement de la page j'envoi lefichier autoexec.bat de son disque dur sur le serveur à l'insu du client

Reply

Marsh Posté le 10-08-2004 à 11:02:05    

gatsusat a écrit :

un champ input file est toujours Readonly, pour la simple et bonne raison que cela pourrait engendrer un problème de sécurité


 
C'était un bug de sécu d'Opera 5.0, résolu dans une des versions suivantes (5.x) par un message "vous allez envoyer au site le fichier suivant : xxxx, dont le nom a été spécifié par le site, voulez-vous continuer ?".


Message édité par antp le 10-08-2004 à 11:02:14

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-08-2004 à 11:02:05   

Reply

Marsh Posté le 10-08-2004 à 13:53:18    

gatsusat a écrit :

un champ input file est toujours Readonly, pour la simple et bonne raison que cela pourrait engendrer un problème de sécurité
rien n'empêcherai quelqu'un de faire ceci
 
<script>
form.fichier.value = 'c:\autoexec.bat;
form.submit();
</script>
 
<form>
<input type="file" name="fichier">
</form>
 
lors du chargement de la page j'envoi lefichier autoexec.bat de son disque dur sur le serveur à l'insu du client


 
 
effectivement, c'est d'une grande logique au niveau de la sécurité :)
 
D'ailleurs tu m'as fais douté, car aprés ca j'ai pensé que tu pouvais lire un disque de client avec php. Alors j'ai fais une petite page avec un copy, et ben ca marche pas ... c'est le même probléme de sécurité mais fallait que j'en ai le coeur net :sol:  
 


---------------
http://www.lolos.fr/
Reply

Marsh Posté le 10-08-2004 à 15:09:02    

je tiens juste a précisé que j'ai collé ce bout de code à l'arrache et qu'il manque des balise et qu'il y a des fautes

Reply

Marsh Posté le 11-08-2004 à 09:26:57    

No probs ca se comprend trés facilement
 
finalement j'ai opté pour la solution "on vérifit tous les champs en javascript", et quand tout est okay on fais le submit().  
 
Ca marche impec', et ca m'a permis d'apprendre 2/3 trucs de bases en javascript :)
 
Thanx


---------------
http://www.lolos.fr/
Reply

Marsh Posté le 11-08-2004 à 09:48:19    

Fais quand meme une verif serveur apres,
le javascript ne doit servir qu'à avoir un peu de "confort" en plus (dans ton cas ca evite de recharger la page),
il ne doit en aucun cas être considéré comme une solution à un problème.

Reply

Marsh Posté le 12-08-2004 à 11:01:04    

ouaip je suis d'accord avec toi
 
j'avai déja prévu tout ce qu'il faut dérriére pour vérifier les champs en php.


---------------
http://www.lolos.fr/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed