Aller au contenu

pollution de mon livre d'or


kamel_leon

Sujets conseillés

Salut les gars,

peut etre que certains d'entre ous ont eu cela aussi, une sorte de pollution sur un livre d'or plein de messages genre publicitaire postés par dizaine chaque jour, avec plein d'adresses ip differentes du coup je peux pas bloquer, en plus il arrive a inserer des champs vides alors que je fais le test avant l'insertion, peut etre c un robot, je ne crois pas, ou bien c'est quelqun qui n'a rien a faire et qui est passionné de viagra discout, jettez un coup d'oeil svp et merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

<?php
session_start();

header ("Content-type: image/png");

$image = imagecreate(80,20); //On créer une image de 100 px sur 25

$gris = imagecolorallocate($image,230,230,230); //gris

$noir = imagecolorallocate($image,0,0,0); //noir

$bleu = imagecolorallocate($image,0,0,255); //bleu

$bleuclair = imagecolorallocate($image, 156, 227, 254);

$rouge = imagecolorallocate($image,255,0,0); //rouge

$vert = imagecolorallocate($image,0,255,0); //vert

$blanc = imagecolorallocate($image, 255, 255, 255);

$jaune= imagecolorallocate($image, 255, 255, 0);

imagefill($image,0,0,$blanc);

$nbr = mt_rand(); //on génére un nombre

$code = substr($nbr,0,6); //On limite à 6 caractères

$_SESSION['code'] = $code;

$font = imageloadfont("8x13iso.gdf"); //on insere une police

$x = mt_rand(15,20);
$y = mt_rand(0,7);

imagestring($image,6,$x,$y,$code,$noir); //on écrit sur l'image

$pointb = 1;

while($pointb <= 50) // Boucle pour faire 50 point bleu clair
{
$x = mt_rand(0,100);
$y = mt_rand(0,25);
ImageSetPixel($image, $x, $y, $jaune);
$pointb++;
}

$pointn = 1;

while($pointn <= 50) // Boucle pour faire 50 point gris
{
$x = mt_rand(0,100);
$y = mt_rand(0,25);
ImageSetPixel($image, $x, $y, $bleu);
$pointn++;
}


$pointr = 1;

while($pointr <= 50) // Boucle pour faire 50 point vert
{
$x = mt_rand(0,100);
$y = mt_rand(0,25);
ImageSetPixel($image, $x, $y, $vert);
$pointr++;
}

$ligne = 1;

while($ligne <= 2) //Tracer 2 lignes
{
$x1 = mt_rand(0,100);
$y1 = mt_rand(0,25);
$x2 = mt_rand(0,100);
$y2 = mt_rand(0,25);
ImageLine($image, $x1, $y1, $x2, $y2, $rouge);
$ligne++;
}


$xt1 = mt_rand(0,150);
$yt1 = mt_rand(0,50);
$xt2 = mt_rand(0,150);
$yt2 = mt_rand(0,50);
$xt3 = mt_rand(0,150);
$yt3 = mt_rand(0,50);

imagepng($image); //on dessine l'image
?>

Code vraiment simple mais qui marche...

Tu mets en plus dans ton formulaire :

<img src="image.php" alt="Image" /> <input name="code" type="text" size="25" onfocus="this.value=''" value="Tapez le code de sécurité" />

Et la vérification :

$codeSession = $_SESSION['code'];
$codeFormulaire = trim($_POST['code']);

if($codeFormulaire == NULL) { haut(); echo "Vous n'avez pas tapé le code de sécurité !<br /><br /><a href=\"inscription.php\">Retour</a>"; bas(); exit(); }
if($codeFormulaire != $codeSession) { haut(); echo "Le code de sécurité est incorrect !<br /><br /><a href=\"inscription.php\">Retour</a>"; bas(); exit(); } else {$_SESSION['code'] = "";}

A adapté bien entendu avec ton système.

(Si tu veux la police : http://www.archive-host.com/8x13iso.gdf)

(C'est un vieux code ^^)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...