begin process at 2010 09 06 06:27:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > CAPTCHA ANTI-BOT + FICHIER SON (WAV)

CAPTCHA ANTI-BOT + FICHIER SON (WAV)


 Information sur la source

Note :
Aucune note
Catégorie :Sécurité & Cryptage Classé sous :captcha, binaire, wav, accessible, antibot Niveau :Initié Date de création :08/08/2008 Date de mise à jour :08/08/2008 11:00:00 Vu / téléchargé :5 111 / 490

Auteur : nax333

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Un captcha image assez robuste avec un générateur de fichier wav

La source jointe est la fonction de génération de l'image pour la génération du fichier son, c'est dans le zip.

La police angelina.ttf est disponible ici : http://www.dafont.com/fr/angelina.font et n'est pas incluse dans le zip. Il faut mettre le fichier ttf dans le même répertoire que le fichier captcha.php.

Il faut créer des fichiers wav qui prononce les nombres 0 1 2 3 4 5 6 7 8 9 dans le repertoire sounds. Je vous conseille le site : http://www.research.att.com/%7Ettsweb/tts/demo.php pour générer des fichiers wav. Vous devriez avoir les fichiers 0.wav, 1.wav etc...

Source

  • <?php
  • /**
  • Copyright (c) 2008
  • This program is free software: you can redistribute it and/or modify
  • it under the terms of the GNU General Public License as published by
  • the Free Software Foundation, either version 3 of the License, or
  • (at your option) any later version.
  • This program is distributed in the hope that it will be useful,
  • but WITHOUT ANY WARRANTY; without even the implied warranty of
  • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  • GNU General Public License for more details.
  • You should have received a copy of the GNU General Public License
  • along with this program. If not, see <http://www.gnu.org/licenses/>.
  • */
  • // Genere l'image
  • session_start();
  • function nombre($n)
  • {
  • return str_pad(mt_rand(0,pow(10,$n)-1),$n,'0',STR_PAD_LEFT);
  • }
  • function image($mot)
  • {
  • $size = 32;
  • $marge = 15;
  • $font = 'angelina.ttf';
  • $matrix_blur = array(
  • array(1,1,1),
  • array(1,1,1),
  • array(1,1,1));
  • $box = imagettfbbox($size, 0, $font, $mot);
  • $largeur = $box[2] - $box[0];
  • $hauteur = $box[1] - $box[7];
  • $largeur_lettre = round($largeur/strlen($mot));
  • $img = imagecreate($largeur+$marge, $hauteur+$marge);
  • $blanc = imagecolorallocate($img, 255, 255, 255);
  • $noir = imagecolorallocate($img, 0, 0, 0);
  • $couleur = array(
  • imagecolorallocate($img, 0x99, 0x00, 0x66),
  • imagecolorallocate($img, 0xCC, 0x00, 0x00),
  • imagecolorallocate($img, 0x00, 0x00, 0xCC),
  • imagecolorallocate($img, 0x00, 0x00, 0xCC),
  • imagecolorallocate($img, 0xBB, 0x88, 0x77));
  • for($i = 0; $i < strlen($mot);++$i)
  • {
  • $l = $mot[$i];
  • $angle = mt_rand(-35,35);
  • imagettftext($img,mt_rand($size-7,$size),$angle,($i*$largeur_lettre)+$marge, $hauteur+mt_rand(0,$marge/2),$couleur[array_rand($couleur)], $font, $l);
  • }
  • imageline($img, 2,mt_rand(2,$hauteur), $largeur+$marge, mt_rand(2,$hauteur), $noir);
  • imageline($img, 2,mt_rand(2,$hauteur), $largeur+$marge, mt_rand(2,$hauteur), $noir);
  • imageconvolution($img, $matrix_blur,9,0);
  • imageconvolution($img, $matrix_blur,9,0);
  • imagepng($img);
  • imagedestroy($img);
  • }
  • function captcha()
  • {
  • $mot = nombre(5);
  • $_SESSION['captcha'] = $mot;
  • image($mot);
  • }
  • header("Content-type: image/png");
  • captcha();
  • ?>
<?php
/** 
    Copyright (c) 2008
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
// Genere l'image
session_start();

function nombre($n)
{
    return str_pad(mt_rand(0,pow(10,$n)-1),$n,'0',STR_PAD_LEFT);
}

function image($mot)
{
    $size = 32;
    $marge = 15;
    $font = 'angelina.ttf';
    
    $matrix_blur = array(
        array(1,1,1),
        array(1,1,1),
        array(1,1,1));
        
    $box = imagettfbbox($size, 0, $font, $mot);
    $largeur = $box[2] - $box[0];
    $hauteur = $box[1] - $box[7];
    $largeur_lettre = round($largeur/strlen($mot));
    
    $img = imagecreate($largeur+$marge, $hauteur+$marge);
    $blanc = imagecolorallocate($img, 255, 255, 255); 
    $noir = imagecolorallocate($img, 0, 0, 0);
    
    $couleur = array(
        imagecolorallocate($img, 0x99, 0x00, 0x66),
        imagecolorallocate($img, 0xCC, 0x00, 0x00),
        imagecolorallocate($img, 0x00, 0x00, 0xCC),
        imagecolorallocate($img, 0x00, 0x00, 0xCC),
        imagecolorallocate($img, 0xBB, 0x88, 0x77));

    for($i = 0; $i < strlen($mot);++$i)
    {
        $l = $mot[$i];
        $angle = mt_rand(-35,35);
        imagettftext($img,mt_rand($size-7,$size),$angle,($i*$largeur_lettre)+$marge, $hauteur+mt_rand(0,$marge/2),$couleur[array_rand($couleur)], $font, $l);    
    }
    
    
    imageline($img, 2,mt_rand(2,$hauteur), $largeur+$marge, mt_rand(2,$hauteur), $noir);
    imageline($img, 2,mt_rand(2,$hauteur), $largeur+$marge, mt_rand(2,$hauteur), $noir);
    

    imageconvolution($img, $matrix_blur,9,0);
    imageconvolution($img, $matrix_blur,9,0);
    
    imagepng($img);
    imagedestroy($img);
}


function captcha()
{
    $mot = nombre(5);
    $_SESSION['captcha'] = $mot;
    image($mot);
}

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


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

08 août 2008 10:56:03 :
Erreur de zip
08 août 2008 11:00:00 :
Erreur dans le zip

 Sources du même auteur

BRUTE FORCE PHP
FONCTION GET EN PHP : RECUPERER UNE PAGE SUR UN SITE DISTANT
Source avec Zip LABYRINTHES EN PHP (GD + HTML) GÉNÉRATION + RÉSOLUTION

 Sources de la même categorie

CLASSE DE CHIFFREMENT DE DONNÉS AVEC MCRYPT par TychoBrahe
FONCTION DE NETTOYAGE DE VARIABLES AVEC UNE INSTALLATION DE ... par jroger
ALGORITHME DE CÉSAR SUR LA TABLE ASCII par Nementon
Source avec une capture CODEC D'OBFUSCATION DE LIEN HTML (PHP5) par masternico
GÉRER UN .HTPASSWD par coockiesch

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GÉNÉRATION DE FORMULAIRES HTML PERSONNALISÉS. par beejeridou
Source avec Zip Source avec une capture CAPTCHA PHP SIMPLE par toutoos
SQUELETTE DE GESTION DES DROITS par malalam
Source avec Zip Source avec une capture CONVERTISEUR BINAIRE OCTAL DEC HEX... par sitajony
Source avec Zip Source avec une capture TEST DE TURING ACCESSIBLE - CLASSE PHP5 par wizad

Commentaires et avis

Commentaire de lassad_haddaji le 24/12/2008 12:24:28

salut, c'est bon votre code mais il y a une erreur dans le fichier captcha.php a la ligne 36, s'il y a une réponse merci
cordialement.

Commentaire de byters le 03/05/2009 16:20:53

Salut, l'erreur à la ligne 36 a t-elle été corrigé ?

Cordialement
Bruno

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Enregistrer un binaire dans une base de données [ par astien ] astienComment fais-ton en php pour inserer un resgistre avec un objet binaire ?Quelqu'un peut m'aider ? balise, cache :( [ par elanspeech ] Bonjour,J'utilise la balise suivante :&lt;embed src="fichier.wav" width=145 height=25 autostart="false" cache="false" controls="controlpanel"&gt;fichi Comparaison Binaire [ par 6Po ] Bonjour,J'aimerais effectué une comparaison binaire. 6 = 110 2 = 010 Donc normal 6 & 2 devrait faire 010 (soit 2)... si j'effectue le test suivant if image dans mysql sous forme binaire ! [ par fmazoue ] bonjour mon pb c que j'ai enregistré des image jpeg dans ma base de donnée sous forme binaire (blob)et que je voudrai maintenant recuperer ces images image dans mysql sous forme binaire ! [ par fmazoue ] bonjour mon pb c que j'ai enregistré des image jpeg dans ma base de donnée sous forme binaire (blob)et que je voudrai maintenant recuperer ces images Lien vers une page web [ par GIRAFE ENRHUMEE ] Y-a-t-il un moyen pour que une des pages de mon site ne soit pas accessible par son url. Autrement dit, qu'elle ne soit accessible que par le biais d' encodage mime64 binaire [ par mageonyme ] salut,j'aimerai savoir s'il existe une fonction qui encode une chaine en binaire type mime64 (javascript oblige)genre une fonction comme la fonction p Possible de faire un comparateur d image ?? [ par morpheus262 ] Salut,C'est encore moi et mon explorateur "surpuissant" lol.Alors je me demander suite a mon post sur les fichier video (au faite ca marche pas trop b Fichier et binaire [ par kangoo75 ] Bonjour , J'ai cr&#233;&#233; cette fonction&nbsp; : function VisuBin($chemin_fichier){ &nbsp; $id_fichier = fopen($chemin_fichier, "rb"); &nbsp; [BLOB->GD] Redimensionner un "flux image binaire"... [ par arnal69130 ] Bonjour &#224; tous,Je cherche &#224; faire une page pour afficher la carte d'identit&#233; d'un "agent", pour simplifier disons juste son nom et sa p


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales