Vous êtes ici Codes sources snippets  securite  Anti flood pour sécuriser un site

 

Anti flood pour sécuriser un site

L'anti flood est un système de controle du temps que vous accordez à un visiteur qui soumet des données dans votre data base.

Avec ce système le visiteur doit faire une pause entre chaque soumissions et c'est à vous de régler le temps de cette pause. Vous pouvez mettre 10 secondes comme 10 minutes d'attente.

 
posté par un
administrateur
Site de l'auteur Voir
Enregisté le 23 Avril 2009
Vu 6972 fois
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Anti flood pour sécuriser un site
  • Partage ce code sur Facebook
 
 
 
 

Code Source


.01
.02
.03
.04
.05
.06
.07
.08
.09
.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
 
<?php
/******************************************************************************/
/*                                                                            */
/*                            ___           ____                              */
/*                           / _ \___ _  __|_  /    __                        */
/*                          / // / -_) |/ //_ < |/|/ /                        */
/*                         /____/\__/|___/____/__,__/                         */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Anti flood pour sécuriser un site                         */
/*                                                                            */
/* URL            : http://www.dev3w.com/scripts7-PHP.htm                     */
/* Auteur         : moderateur                                                */
/* Date édition   : 23 Avril 2009                                             */
/* Website auteur : http://wwww.dev3w.com                                     */
/*                                                                            */
/******************************************************************************/


// table correspondant aux requetes ci-dessous
CREATE TABLE flood (
  ip varchar(18NOT NULL default '',
  dernier int(11NOT NULL default '0',
  PRIMARY KEY  (ip)
) ENGINE=MyISAM;


$time_flood '30'// 30 secondes

// COMMENT PROCEDER ??


$time_flood '30'// 30 secondes

// 1° d'abord commencer par supprimer tout ceux dont le temps a expirer
mysql_query("DELETE FROM flood WHERE dernier + $time_flood < " time());

// 2° ensuite prenez l'ip du visiteur
$resultat mysql_query(
"SELECT dernier FROM flood WHERE ip='$_SERVER[REMOTE_ADDR]'");

// 3° Si l'Ip du visiteur est deja dans la table, ai !!
if(mysql_num_rows($resultat) > )
    echo 'vous devez attendre !';

   
// 4° sinon tout va bien, reste plus qu'a inserer l'ip de votre visiteur dans la
// table
   else mysql_query("INSERT INTO flood VALUES ('$_SERVER[REMOTE_ADDR]', '" time() . "')");

?>

Commentaire (1)
Merci beaucoup :)
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 

Navigation

 
 
Annonce Google...
 

sécurité

 
 

Catégories