Bonjour,

J'ai réalisé un code entiérement, et comme je débute tout juste en php j'aimerais savoir si mon code est correct et surtout si il ne comporte pas des failles.

Ce code me permet de permettre à mes visiteurs de donner 1 point à un site toutes les heures seulement.

Voila le code qui vérifi si la personne n'a pas déja voté, en vérifiant la date de sa derniere connexion au script réussite.

Il vérifi également si la personne c'est déja connecté avec son IP et si non il l'enregistre dans la bd.

J'attend vos critiques

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
63
 
<?php
 
// conexion bd 
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("eckopland2"); // Sélection de la base
 
// recuperation ip visiteur 
	$ip = $_SERVER['REMOTE_ADDR'];
 
// vérification anti flood pour 1heure soit 3600 secondes
 
// recuperation info dans table visiteur
	$mysql_result = mysql_query("SELECT COUNT(*) FROM visiteur WHERE ip = '$ip';");
	$mysql_array = mysql_fetch_row($mysql_result);
 
	// si ip visiteur non trouvé, créer un nouvel enregistrement 
	if ($mysql_array[0] > 0) 
		{
			// si ip existe test si l'heure est écoulé 
			// dans un premier temps recuperation de la date de la dernier conexion 
			$reponse = mysql_query("SELECT temps FROM visiteur WHERE ip='$ip'");
			$donnees = mysql_fetch_array($reponse);
			$lastime = $donnees['temps'];
			// ensuite on compare cette date à la date courante
			$dateC =  date('Y-m-d H:i:s');
			// date courante - date visiteur
			$duree = strtotime($dateC) - strtotime($lastime);
			// si durée inférieure à 3600
			if ($duree < 3600) 
				{
					// fermer sql 
					mysql_close(); // Déconnexion de MySQL
				}
 
			// si durée supérieure à 3600 OK
			else 
				{
					// mise à jour lastime
					mysql_query("UPDATE visiteur SET temps = NOW() WHERE ip = '$ip'");
					// demande variable get Fichier
					$id = $_GET['id'];
					// mise à jour  du classement
					mysql_query("UPDATE gallery SET vu = NOW() WHERE fichier = '$id'");  
					// fermeture sql
					mysql_close(); // Déconnexion de MySQL
				}
		} 
		else 
		{
			// si ip visiteur non trouvé, créer un nouvel enregistrement 
			// envoi ip et date courante dans visiteur
			$sql = "INSERT INTO visiteur VALUES ( '".$ip."',  now())";
			$res = mysql_query($sql) or die(mysql_error()); 
			// demande variable get fichier
			$id = $_GET['id'];
			// mise à jour  du classement
			mysql_query("UPDATE gallery SET vu = NOW() WHERE fichier = '$id'");  
			// fermeture sql
			mysql_close(); // Déconnexion de MySQL
		}
 
?>