Bonjour,

J'ai un formulaire avec un champ texte pouvant écrire beaucoup de ligne d'écriture. On peut notament par exemple écrire un script PHP dans le champs du genre

Code php : 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
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
function NumTel($tel)
{
    $ch = 10;                               // Numéro à 10 chiffres
    $tel = eregi_replace('[^0-9]',"",$tel); // supression sauf chiffres
    $tel = trim($tel);                      // suppression espaces avant et après
    if (strlen($tel) > $ch)
    {
        $d = strlen($tel) - $ch; // retrouve la position pour ne garder
                                 // que les $ch derniers
    }
    else
    {
        $d = 0;
    }
    $tel = substr($tel,$d,$ch); // récupération des $ch derniers chiffres
    $regex = '([0-9]{1,2})([0-9]{1,2})([0-9]{1,2})([0-9]{1,2})([0-9]{1,2})$';
    $newtel = eregi_replace($regex,
        '\\1-\\2-\\3-\\4-\\5',$tel); // mise en forme
    return $newtel; /* Exemple : 03-81-51-45-78  */
}
 
// Appel de la fonction:
 
echo "Téléphone : ".NumTel($teldom);
 
?>

le problème, lors de l'éxecution de ma requete j'ai un message d'erreur, car celui ci interprete le code PHP.

Comment protéger toute ma requete d'un coup avec une fonction comme mysql_real_escape_string() par exemple.

Voici la requete que j'aimerai protéger :

Code php : 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
17
18
19
20
21
22
23
24
25
26
// SQL : Ajout du nouveau inventaire_server
	$sql = "INSERT INTO inventaire_server VALUES ( '', 
	'" . strtoupper(presVar($_POST, 'inventaire_server_hostname')) . "',
	'" . presVar($_POST, 'inventaire_server_ip') . "',
	'" . strtoupper(presVar($_POST, 'inventaire_server_numero_serie')) . "',
	'" . presVar($_POST, 'modele') . "',
	'" . presVar($_POST, 'inventaire_server_id_os') . "',
	'" . presVar($_POST, 'inventaire_server_type') . "',
	'" . presVar($_POST, 'inventaire_server_mise_service') . "',
	'" . presVar($_POST, 'inventaire_server_id_situation') . "',
	'" . presVar($_POST, 'inventaire_server_date_reception') . "',
	'" . presVar($_POST, 'inventaire_server_numero_reception') . "',
	'" . presVar($_POST, 'inventaire_server_id_batiment') . "',
	'" . presVar($_POST, 'inventaire_server_id_etage') . "',
	'" . ucfirst(presVar($_POST, 'inventaire_server_commentaire_server')) . "',
	'" . presVar($_POST, 'inventaire_server_id_contrat_maintenance') . "',
	'" . presVar($_POST, 'inventaire_server_contrat_date_du') . "',
	'" . presVar($_POST, 'inventaire_server_contrat_date_au') . "',
	'" . ucfirst(presVar($_POST, 'inventaire_server_responsable_appli_prenom')) . "',
	'" . NumTel(presVar($_POST, 'inventaire_server_responsable_appli_tel')) . "',
	'" . strtoupper(presVar($_POST, 'inventaire_server_responsable_appli_nom')) . "',
	'" . presVar($_POST, 'prenom') . "')";
	//Sécuriter pour éviter les injection SQL
	mysql_real_escape_string($sql);
	//Execution de la requete
	mysql_query($sql)or die(mysql_error());

Merci d'avance

Arnaud