Requête corrompu sur mon site web en php

Signaler
Messages postés
3
Date d'inscription
mardi 30 décembre 2014
Statut
Membre
Dernière intervention
30 décembre 2014
-
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
-
Bonjour,

Ayant transféré mon code php de mysql à mysqli j'ai ajouté une fonction qui m'envoie un courriel à chaque fois qu'il y a une erreur dans une requête mysqli pour m'assurer que je n'avais pas oublié de transférer des bouts de code dans certaines pages.

depuis ce temps je reçois des messages d'erreur affichant des requêtes corrompues qui ne peuvent pas venir de mon code. J'explique,

chaque message me donne l'IP du demandeur et retranscrit l'adresse de la page demandée.

ainsi une page normale: code.php?no=4&cela=22&ceci=10 qui doit me permettre de générer une requête mysqli avec les variable no, cela, ceci

est soumise comme ceci:
code.php?no=4&cela=&ceci=hdgdffervbvdjk

le variables sont corrompues ou manquantes. Je remarque selon l'adresse IP qu'il s'agit de requêtes faites par des robots comme Google, MS, Yahoo etc

est-ce normale de recevoir des demandes corrompues et si oui comment les filtrer

merci,

2 réponses

Messages postés
31514
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 février 2021
344
Bonjour,

le variables sont corrompues ou manquantes.

Je ne sais pas ce que tu entends par "corrompues"... mais pour les "manquantes".. c'est à toi de les vérifier AVANT de lancer tes requêtes...

//récupération de variable GET si existante et non vide:
$cela = isset($_GET['cela']) && $_GET['cela']!='' ? $_GET['cela'] : NULL ;
$ceci= isset($_GET['ceci']) && $_GET['ceci']!='' ? $_GET['ceci'] : NULL ;
$no= isset($_GET['no']) && $_GET['no']!='' ? $_GET['no'] : NULL ;


puis avant de lancer ta requête ...
if($cela && $ceci && $no){
  // la suite de ton code

}else{
 // au moins une variable est NULL
 //
}



Concernant les Robots.. tu peux peut être regarder du côté de :
http://www.commentcamarche.net/contents/1268-robots-txt




Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
4
Bonsoir,

Je vous conseille, en amont de la requête, de faire un test sur la variable ceci:

if (isset($_GET['ceci']) && isnum($_GET['ceci'])) {
    ....ici construction de la requête SQL....
} else {
    ....ici gestion de l'erreur de saisie....
}


Cdlt