Code d'inscription en image pour eviter les robots

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 455 fois - Téléchargée 29 fois

Contenu du snippet

cette fonction genere une image avec un code fournit en parametre.
Les seules choses a configurer sont les chemins de vos polices...

Source / Exemple :


function CreateImagecode($code){
  $img = imagecreate(115, 25);
  $black = imagecolorallocate($img, 0, 0, 0);
  $gris = imagecolorallocate($img, 155, 155, 155);
    
  imagefilledrectangle($img, 0, 0, 115, 25, imagecolorallocate($img, 255, 255, 255));
    
  for($i=0;$i<200;$i++) {
    imagesetpixel($img, rand(0,115), rand(0,25), $gris);
  }

  $ch_ar = getenv("DOCUMENT_ROOT")."/fontes/arial.ttf";
  $ch_verd = getenv("DOCUMENT_ROOT")."/fontes/verdana.ttf";

  $x = 5;
    
  for($i=0;$i<8;$i++) {
    if (rand(0,1) == 0) {$police = $chem_verd;}
    else {$police = $chem_ar;}
    ImageTTFText($img, 12, rand(-6,6), $x, rand(17,19), $black, $police, substr($code,$i,1));
    $x += rand(16,19);
  }

  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
  header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
  header("Cache-Control: no-store, no-cache, must-revalidate"); 
  header("Cache-Control: post-check=0, pre-check=0", FALSE);
  header("Pragma: no-cache");
  imagejpeg($img, '', 35);
  imagedestroy($img);
}

A voir également

Ajouter un commentaire

Commentaire

Messages postés
399
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
6 septembre 2004

Balancé comme çà çà sert à rien tout seul. Il faut pouvoir vérifier le code tapé et aussi qu'on ne puisse pas "court-circuiter" le système
Je parle en connaissance de cause, regarde mon script : http://www.phpcs.com/code.aspx?ID=13359

Pense aussi qu'utiliser les polices true type nécessite une librairie quasiment jamais installée chez les hébergeurs, alors autant utiliser les polices système de GD (çà vaut bien du arial)

Après, le code me semble familier... Mais bon je veux pas trop m'avancer non plus...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.