Bonjour,

J'utilise un programme pour vérifier sur mes pages PHP de possible problème de sécurité (injection...)
Il me semble assez fiable car j'ai fait exprès de mal fermer une ligne mais sur certains points j'ai besoin de personnes confirmés:

Voici 3 exemples:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Danger: File Manipulation:
 
CreateLog("log", "ECHEC".$_SERVER['REMOTE_ADDR']."\t".htmlentities($_POST['nom']).");
 
// Il aime pas que je mette un post dans cette function createlog soit write, si je le retire ça passe pourquoi? Sinon avec ça fonctionne très bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Danger: SQL Injection
Userinput reaches sensitive sink.
 
201: mysql_query $req = mysql_query("SELECT `id` FROM `acc` WHERE `nom`='$identity_sql' OR `Email`='$mail_sql' AND `info`!=3"); 
 
164: $mail = trim($_POST['Mail']); 
177: $ident_prenom = trim(ucfirst($_POST['Prenom'])); 
178: $ident_prenom = str_replace("_", "", $ident_prenom); 
179: $ident_nom = trim(ucfirst($_POST['Nom'])); 
180: $ident_nom = str_replace("_", "", $ident_nom); 
181: $identity = "" . $ident_prenom . "_" . $ident_nom . ""; 
182: $identity_sql = mysql_real_escape_string($identity)
183: $mail_sql = mysql_real_escape_string($mail);
 
// ici la ligne 182 et 183 il aime pas trop avec le sql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Userinput reaches sensitive sink due to insecure usage of addslashes() without quotes (Blind exploitation)
 
424: mysql_query("UPDATE `acc` SET `info`='2' WHERE `id`='$cid'"); 
342: $cid = mysql_real_escape_string(htmlspecialchars(addslashes($data['Sid']))); 
 
//Si je retire addslashes plus de risque selon le logiciel, mais après le code est brisé.
Donc c'est pour savoir s'il y a vraiment des risques ou le logiciel est trop sensible? Merci de l'aide.