IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Faire un anti spam


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 122
    Points
    122
    Par défaut Faire un anti spam
    bonjour a tous,
    je suis devant un probleme d'ecriture d'une image avec php pour faire un anti robot.
    J'ai trouvé un petit programme qui fait cela, il fonctionne bien pour créer l'image, mais ne met pas les caractères dedans
    voici le programme qui met normalement les caractères:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // caractères
    for( $i = 0; $i < $strlen; $i++ )
    {
      $col = imagecolorallocate( $img, mt_rand( 0, 120 ),mt_rand( 0, 120 ), mt_rand( 0, 120 ));
      imagettftext( $img, mt_rand( 20, 25 ),mt_rand( -30, 30 ),10 + $i * 30, 35, $col, 'comic.ttf', $chaine[ $i ] );
    }
    j'ai mis une police comic.ttf, dans le même repertoire que le programme.
    Je pense avoir tout fait bien, mais pas de caractères dans l'image

    quelqu'un aurait'il une idée?

    je souligne bien que mon programme genere bien une image, qu'il me renvoie bien cette image avec des ligne dedans, mais pas les caractères.

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    regarde la documentation de la fonction http://php.net/imagettftext
    déjà il ne faut pas mettre ".ttf" et ensuite tu dois indiquer dans quel répertoire se trouve le fichier

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 122
    Points
    122
    Par défaut
    merci de cette reponse,
    sauf que tu penses bien que j'avais regardé la doc avant, que je viens de regarder a nouveau, mais cela ne fonctionne pas mieux.

    j'ai cette erreur
    Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/eq25757/eq39673/html/html/anti_spam.php on line 85
    si je mets ./comic car la police se trouve dans mon repertoire, ou se trouve mon programme anti_spam.php.

    j'ai aussi essayé de mettre juste comic, mais j'ai la même erreur.

    En fait, je n'ai pas d'erreur si je mets ./comic.ttf ou comic.ttf. ce qui veut dire qu'il trouve bien mon fichier,
    Mais dans ce cas, je reviens a mon non fonctionnement décrit plus haut.

    Une autre idée?
    merci

  4. #4
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 122
    Points
    122
    Par défaut la suite et fin
    Bon, j'ai trouvé, je ne m'explique pas, mais ca marche.
    Si quelqu'un peu m'expliquer cela me ferrai bien plaisir.
    aulieu d'ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for( $i = 0; $i < $strlen; $i++ )
    {
      $col = imagecolorallocate( $img, mt_rand( 0, 120 ),mt_rand( 0, 120 ), mt_rand( 0, 120 ));
      imagettftext( $img, mt_rand( 20, 25 ),mt_rand( -30, 30 ),10 + $i * 30, 35, $col, 'comic.ttf', $chaine[ $i ] );
    }
    j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for( $i = 0; $i < $strlen; $i++ )
    {
      $col = imagecolorallocate( $img, 0,0, mt_rand( 0, 120 ));
      imagettftext( $img, mt_rand( 20, 25 ),mt_rand( -30, 30 ),10 + $i * 30, 35, $col, 'comic.ttf', $chaine[ $i ] );
    }
    ca marche
    en forcant les 3 paramètres a 0 ca marche aussi.
    Mais contrairement à ce que je m'attendais, la couleur du texte n'est pas noir, il est d'une sorte de vert pastel sur un fond d'image un peu bleue.

    Ca fonctionne c'est le principal, mais pourquoi ce vert?????
    merci

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $col = imagecolorallocate( $img, 0,0, mt_rand( 0, 120 ));
    ça renvoie une couleur aléatoire comprise entre #000000 et #000078, donc forcément du bleu. je ne vois pas bien d'où pourrait venir du vert...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Anti spam
    Par wodel dans le forum Réseau
    Réponses: 1
    Dernier message: 27/11/2005, 12h43
  2. [Sécurité] Anti spam
    Par mic79 dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 14h49
  3. Anti Spam sous RedHat
    Par TuxP dans le forum Réseau
    Réponses: 3
    Dernier message: 03/02/2004, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo