Empecher la sélection manuelle dans un browse ?

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 : Empecher la sélection manuelle dans un browse ?

par michou357 » 20 avr. 2005, 16:38

Oups lol quand tu as mis ton formulaire j'avais compris le nom de ma page "temp.php" car pour moi ma page fait office de formulaire.

Si non effectivement ça marche merci beaucoup pour ton aide !

par heddicmi » 20 avr. 2005, 15:50

Bin vi ça marche po... J'ai mis :

Code : Tout sélectionner

<INPUT type="file" name="fichier" onKeyPress="ton_formulaire.fichier.blur()">
Mais toi tu as mis :

Code : Tout sélectionner

<input type=\"file\" name=\"filepath\" onKeyPress=\"temp.php.filepath.blur() \">
Donc filepath, c'est bien le nom de ton input, mais ça correspond à quoi temp et php ??? :roll:

Ralalalala ! Si on me lis po bien ! Pour toi, c'est plutôt du genre :

Code : Tout sélectionner

<input type=\"file\" name=\"filepath\" onKeyPress=\"formulaire.filepath.blur() \">

par michou357 » 20 avr. 2005, 15:22

En fait au debut je prenais le path que je recevais côté serveur puis j'éssayer de testet du coté client si le fichier existe mais j'ai pa les droit pour ça...

Voici Mon code,
Mon fichier s'appel temp.php

(PS: j'ai essayer avec ce que tu m'as dis ça ne marche pas)

[code]<? // ne pas sauter de ligne car le header() ne prnedra pas !!
$correcte="vrai" ;
$bool=1 ;

if (isset($filepath))
{
$filepath=stripslashes($filepath);

// print("voici le chemin $filepath");
$bool=is_file($filepath); // retourne 1 si c'est un fichier
$filepath_temp=$filepath;
$filepath_temp[1]="$"; // on remplace : par $
$filepath_temp="\\" . $REMOTE_ADDR . "\\" . $filepath_temp ;
$filepath_temp="\\" . $filepath_temp ; // on a obtenu \\158.167.30.xx\c$\...\file.txt
if(file_exists($filepath_temp))
{
$bool="vrai" ;
}
else
{
$bool="faux";
}

print("valeur de file_exists: $bool big adress $filepath_temp ");
}
//if (file_exist) (\\ip\C$\path)

if($bool!==1)
{
$correcte="faux" ;
$message="<font color=\"red\"><i>Fichier inexistant ou nom incorrecte !!</i></font>" ;
}
if ( ($bool==1) && (isset ($filepath) ) )
{
$file=basename($filepath);
if($filepath!="sec.ini")
{
print("fichier correcte cependant c'est pas un 'sec.ini' ");
}
else
{ $filepath=basename($filepath);
print(" Super: $filepath ");
}
}
print("

<html>
<head>
<title>Téléchargement d'un fichier</title>
</head>

<form action=\" $PHP_SELF \" method=\"get\" name=\"formulaire\" enctype=\"multipart/form-data\">
<strong>Please select the file to parse :</strong>
<input type=\"file\" name=\"filepath\" onKeyPress=\"temp.php.filepath.blur() \">
<input type=\"submit\" value=\"Ok\">
<input type=\"reset\" name=\"clean\"> "); if ($correcte=="faux"){echo $message ;} print("
</form>

<SELECT name=\"Grimpeurs\">
<OPTION type=\"file\" value=\"file\">filee</OPTION>
</SELECT>
</body>
</html>
");

?>
[/code]

par heddicmi » 20 avr. 2005, 15:10

Bof, c'est plus du javascript si j'ai bien saisi le problème.

En gros, faut lui dire de s'arrêter avant d'écrire dans ton input type="file"... Au début je pensais lui dire d'effacer automatiquement ce que le mec tapais, mais ça ne s'est pas révélé très efficace... Je te propose donc plutôt un truc du genre :

Code : Tout sélectionner

<INPUT type="file" name="fichier" onKeyPress="ton_formulaire.fichier.blur()">
Donc, si quelqu'un essaye de taper quelquechose, il ne peut pas car le focus est dans le vide...

Empecher la sélection manuelle dans un browse ?

par michou357 » 20 avr. 2005, 14:35

Bien tout est dans le titre, depuis un poste client je fais un browse pour récuperer le chemin d'un fichier et si jamais le mec le rentre manuellement bien j'ai pas les droits (et je les aurais pas) d'aller voir sur la machine client si le fichier existe.
Donc je veux faire une chose simple, empecher la séléction manuelle dans le browse de façon à ce que le mec choisisse uniquement dans la liste du browse et donc le fichier sera forcer d'exister donc pas d'erreur.
Merci de votre aide.
En fait je veux l'empecher de taper manuellement le path.