1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Captcha (anti-robot)

Discussion dans 'Resources' créé par panamdz, Déc 19, 2023.

  1. panamdz

    panamdz Member

    Inscrit:
    Jan 31, 2018
    Messages:
    58
    J'aime reçus:
    60
    Classe pour afficher un captcha graphique en windev 25 (01F250052J).

    [​IMG]

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    CCaptcha est une Classe
    PRIVÉ
    m_sChaîneCaptcha est une chaîne
    m_nCaractère est un entier
    m_bInfoCheck est un booléen
    m_Image est une Image

    FIN

    PROCÉDURE Constructeur()
    m_sChaîneCaptcha = ""
    m_bInfoCheck = Faux

    //**************

    PROCÉDURE getCaptcha(ImgName) // reçois en paramètre le Nom du champ Image
    InitHasard()

    BOUCLE (6) // 6 caractères

    // Génère un nombre au hasard dans l'intervalle 65-122 (A-z)
    m_nCaractère = Hasard(65,122)

    // On ne prend pas les caractères compris entre 91 et 96
    TANTQUE (91 <= m_nCaractère <= 96)
    m_nCaractère = Hasard(65,122)
    FIN

    // Complète et concatène la chaîne
    m_sChaîneCaptcha += Caract(m_nCaractère)
    FIN

    // Paramètres du texte
    polPolice est une Police
    polPolice..Nom = "Lucida Fax"
    polPolice..Gras = Vrai
    polPolice..Taille = 25
    polPolice..Barré = Vrai
    polPolice..Couleur = CyanFoncé
    polPolice..Angle = Hasard(-11,11)

    // Dessin du texte dans l'image
    dDébutDessin({ImgName,indChamp})
    dPolice({ImgName,indChamp},polPolice)
    dTexte(20, 10, m_sChaîneCaptcha)


    RENVOYER m_sChaîneCaptcha

    //***************

    PROCÉDURE checkCaptcha(r,v)
    m_bInfoCheck = Faux
    SI v = r ALORS
    m_bInfoCheck = Vrai
    SINON
    m_bInfoCheck = Faux
    FIN

    RENVOYER m_bInfoCheck

    //**************************

    //code de le fenêtre
    PROCÉDURE MaFenêtre()
    gpclSCp est CCaptcha dynamique
    r est une chaîne

    ExécuteTraitement(BTN_Affiche,trtClic)

    //***********

    //code du bouton Afficher (rafraichir)
    gpclSCp = new CCaptcha
    r = gpclSCp.getCaptcha(IMG_Captcha.Nom)
    delete gpclSCp
    RepriseSaisie(SAI_Vérification)

    //**********

    //code du bouton Go (vérification)
    gpclSCp = new CCaptcha

    SI gpclSCp.checkCaptcha(r,SAI_Vérification) ALORS
    Info("captcha ok")
    SINON
    Erreur("erreur")
    ExécuteTraitement(BTN_Affiche,trtClic)
    FIN
    delete gpclSCp
     
    #1 panamdz, Déc 19, 2023
    Dernière édition: Déc 19, 2023
  2. Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    168
    J'aime reçus:
    166
    Merci pour ton partage, beau travail :)
     

Partager cette page

Chargement...