[RESOLU] recherche de champs

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 : [RESOLU] recherche de champs

Re: recherche de champs

par seb1945 » 04 avr. 2013, 14:31

Salut,

Merci moogli

Bon voila ou j'en suis
je récupère dans l'url les champs que je souhaite et le met dans une variable puis j'affiche la variable pour vérifier.
$url1 = $_GET['part'] . ' ' .$ip . ' ' . $_GET['login'] . ' ' .$_GET['passwd'];
echo $url1."<br />";
RESUTAT:
gigi 10.125.12.255 moi pass1


Je traite mon fichier dans un tableau avec SplFileObject
Ps: finalement j'ai fait plutôt un fichier toto.csv au lieu de toto.txt

$file = new SplFileObject("/appli/conf/part_http.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl(';');
while (!$file->eof()) {
var_dump($file->fgetcsv());
}

il m'affiche bien chaque ligne et chaque colonne.
array(7) { [0]=> string(4) "gigi" [1]=> string(13) "10.125.12.255" [2]=> string(3) "moi" [3]=> string(5) "pass1" [4]=> string(2) "10" [5]=> string(3) "255" [6]=> string(19) "/data/fichic1/date2" } array(7) { [0]=> string(4) "titi" [1]=> string(14) "112.125.12.255" [2]=> string(3) "moi" [3]=> string(5) "pass1" [4]=> string(2) "84" [5]=> string(3) "787" [6]=> string(19) "/data/fichic2/date3" } array(1) { [0]=> NULL }

Après je sais pas comment faire ...
Je pense qu'il faudrait faire un filtre et de dire (tu me compare chaque ligne avec ma variable $url1) et si résultat = 1 tu lances ma commande curl sinon tu m'affiche une page 404

@+

Re: recherche de champs

par moogli » 03 avr. 2013, 23:01

salut,

file : pour récupérer le contenu du fichier dans un tableau
[url=http://www.php;net/foreach]foreach[/url] pour parcourir le tableau
str_getcsv pour récupérer les infos facilement vu que tu semble utiliser du csv.

tu peux aussi reconstruire la ligne et simplement comparer la ligne a ce que tu as reconstruit.


@+

recherche de champs

par seb1945 » 03 avr. 2013, 22:46

Bonjour a tous,

Je suis bloqué sur ce problème et ne trouve pas la solution.
Si une âme bien charitable veut bien m'aider ?....

Voici ce que j'ai pu faire pour l'instant et je bloc ...

//Recupere les parametres dans l'url
$ip = (!$HTTP_X_FORWARDED_FOR) ? $_SERVER['REMOTE_ADDR'] : $HTTP_X_FORWARDED_FOR;
echo 'Nom : ' . ' ' . $_GET['nom']."<br />";
echo 'L'adresse iP client : ' . $ip_adress."<br />";
echo 'Le login : ' . ' ' . $_GET['login']."<br />";
echo 'Le password : ' . ' ' . $_GET['pass']."<br />";
echo 'Numero 1 : ' . ' ' . $_GET['num_1']."<br />";
echo 'Numero 2 : ' . ' ' . $_GET['num_2']."<br />";
echo 'path : ' . ' ' . $_GET['path']."<br />";
echo 'nom du fichier : ' . ' ' . $_GET['nom_fichier']."<br />";



// Ouverture du fichier reference en lecture seule*/
$handle = fopen('toto.txt', 'r');
echo 'Lecture du fichier parametre'."<br />";
if ($handle)
{
while (!feof($handle))
{
$buffer = fgets($handle);
echo $buffer."<br />";
}
/*On ferme le fichier*/
fclose($handle);
}

Voila, j'arrive bien a récupéré les paramètres dans l'url et lire tout le contenu de mon fichier toto.txt

Le contenu de toto.txt est:
gigi;10.125.12.255;moi;pass1;10;255;/data/fichic1/date2
titi;112.125.12.255;moi;pass1;84;787;/data/fichic2/date3
tata;12.25.11.255;moi;pass1;254;87;/data/fichic4/date4

Pour l'url les paramètres sont: http://www.monsite.php?nom=gigi&ip_adre ... au-fichier

Voila ce que je souhaite faire, c'est de comparer ce qui est dans l'url et ce qui est dans le fichier toto.txt
Le but: il récupère les paramètres dans l'url, et le compare avec chaque ligne dans le fichier toto.txt.
Si il trouve une ligne identique aux paramètres de l'url, exécute la commande curl $nom_fichier $path sinon rejette par une erreur 404

Je trouve vraiment pas comment faire. Quelqu'un a une idée, un piste ?

Seb