Bonjour
et merci d'avance
j'ai fait plusieurs scripts avec easy php et mysql pour un questionnaire.
au moment de le mettre sur le serveur, mon webmaster me dit
"Les règles primaires de sécurité ne sont clairement pas respectées (il y a de l'injection SQL possible). Ça mettra surtout en péril ta propre base de données."
mais il ne m'aide pas pour autant ...
est ce que quelqu'un pourrait me dire ce qui coince la dedans car c'est le premier script que je fais !!
je suppose, peut être à tort, que c'est dans cette partie-là
//création d'une connexion à la base de données
mysql_connect("localhost","root","");
// sélection de la base de données news
mysql_select_db("doctorants");
// création de la requête qui va nous permettre de maj
$requete = "UPDATE suivi SET datedebcontrat='$datedebutcontrat',datefincontrat='$datefincontrat',sujet='$sujet' where identite = '$identite' ";
mysql_query($requete) or die("pb sql");
A moins que ce ne soit là
<?php
session_start();
?>
<HTML>
<HEAD><TITLE>Base de données des doctorants </TITLE>
</HEAD>
<H3 ALIGN=CENTER>
FIN D’ACTIVITE DES DOCTORANTS <BR>
Questionnaire 2006<BR>
-
PROMOTION 2005</H3>
<?php
// récupération du nom saisi dans le formulaire , on le met en maj comme dans la base
$nom=$_REQUEST["nom"];
$prenom=$_REQUEST["prenom"];
$nom=strtoupper($nom);
// récupération du prenom saisi dans le formulaire,on le met en minuscule, on met la 1ere lettre en maj comme dans la base
$prenom=strtolower($prenom);
$prenom=ucfirst($prenom);
// si les champs sont vides on refuse
if ($nom==""&&$prenom=="")
{
echo "<TR><TD COLSPAN=5>Vous devez saisir votre nom et prénom : acces refusé</TD></TR>";
}
else
{
// création d'une connexion à la base de données
mysql_connect("localhost","root","");
// sélection de la base de données formation
mysql_select_db("doctorants");
// création de la requête qui va nous permettre de récupérer les infos sur le doctorant
$requete = "SELECT * FROM suivi where identite = '$nom $prenom' ";
// fait le lien entre identite et identifiant
// execution de la requête
$resultats = mysql_query($requete)or die (" probleme sql");
// parcours des résulats : tant qu'il y a des resultats : afficher
while($ligne = mysql_fetch_array($resultats)) {
// récupération des champs
$identite= $ligne["identite"];
$pays = $ligne["pays"];
$genre = $ligne["genre"];
$annee = $ligne["annee"];
$equipe = $ligne["equipe"];
// affichage du tableau
// si le nom saisi dans le formulaire est le même que celui récupéré de la base de données afficher liste
// affichage d'une ligne du tableau
// affichage du nom
echo "Nom et prénom du doctorant: $identite<br>";
// affichage du pays
echo "Pays : $pays<br>";
// affichage du sexe
echo "Sexe : $genre<br>";
// affichage annee naissance
echo "Année de naissance : $annee<br>";
// affichage de l'equipe
echo "Equipe/projet de recherche : $equipe<br>";
$_SESSION["identite"]=$identite;
$_SESSION["pays"]=$pays;
$_SESSION["genre"]=$genre;
$_SESSION["annee"]=$annee;
$_SESSION["equipe"]=$equipe;
include 'questionnaire.php';
}
// si le login saisi dans le formulaire n'est pas dans la base
if (mysql_num_rows($resultats)==0)
{
echo "<TR><TD COLSPAN=5>Erreur de login : acces refusé</TD></TR>";
}
}
?>
</table>
</HTML>