Requête corrompu sur mon site web en php

claudegel Messages postés 3 Date d'inscription mardi 30 décembre 2014 Statut Membre Dernière intervention 30 décembre 2014 - 30 déc. 2014 à 02:01
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 30 déc. 2014 à 20:21
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

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
30 déc. 2014 à 09:36
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




0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
30 déc. 2014 à 20:21
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
0
Rejoignez-nous