Bonsoir à tous,

J'ai un script php qui m'a demandé pas mal de temps à composer et qui me sert pour récupérer du contenu depuis ma bdd selon les mots clefs fourni en dans la barre d'adresses

Malheureusement il n'est pas sécurisé à 100%

J'aimerais savoir s'il y a une personne assez sympa pour m'aider à terminer ce script au niveau de la sécurité?

J'ai pu faire une fonction avec quelques éléments qui permettent la protection des données :

On m'a parlé de mysqli_connect ou PDO, malheureusement cela me complique une nouvelle fois la tâche. Comment pourrais-je adapté ce script à un mysqli_construct ou PDO?
J'ai tenté certaines manipulations, mais j'ai à chaque fois des erreurs, pas très compréhensibles pour moi, je l'avoue.

Voici le script :

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 <?php
function checkValues($value)
{
	 // fonction à utiliser contre les injections
 
	 //Trim the value
	 $value = trim($value);
 
	// Stripslashes
	if (get_magic_quotes_gpc()) {
		$value = stripslashes($value);
	}
 
	 // Convertis les &lt;, &gt; etc. vers l'html normal
	 $value = strtr($value,array_flip(get_html_translation_table(HTML_ENTITIES)));
 
	 // Strip HTML Tags
	 $value = strip_tags($value);
 
	// Quote the value
	$value = mysql_real_escape_string($value);
	return $value;
 
}	
 
    $db = @mysql_connect('localhost', 'root', '') or die(mysql_error());
    @mysql_select_db('basededonnees', $db) or die(mysql_error());
	mysql_query("SET NAMES 'utf8'");
 
$requete = checkValues($_REQUEST['url']);
 
// il semblerait que cette partie là soit vulnérable
 
$requete = mysql_query('SELECT * FROM table WHERE url="'.$_GET['url'].'"') or die(mysql_error());
 
//On test s'il exists des dossiers pour l'id choisi.
 
if(mysql_num_rows($requete)=='0'){
//S'il y en a pas, on redirige
 header('Location: /siteweb/index.php');
 
}else{
//S'il y en a, alors on affiches les résultats.
	//On parcours tous les résultats 
	while($resultats = mysql_fetch_array($requete)){ 
 
		//On affiches les résultats
?>
<html>
<head>
</head>
<body>
<?php
 
	}
}
 
// Deconnection de mysql
mysql_close(); 
?>
</body>
</html>
Merci !