+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Captcha Zeichen schlecht erkennbar

  1. #1
    Neu an Board Avatar von Segelfilmer
    Registriert seit
    01.03.2009
    Beiträge
    43
    Bedankte sich
    18
    Erhielt 8 Danksagungen
    in 8 Beiträgen

    Standard Captcha Zeichen schlecht erkennbar

    Bei meinem neu installiertem Joomla-Gästebuch Jambook (Version 1.3.9 für Joomla 1.0) ist mir aufgefallen, dass es oft Probleme gibt mit dem Erkennen von bestimmten Zeichen ( z.B. '0', 'O', 'o'). Anschließende Fehlermeldungen nerven die Benutzer. Also fügte ich eine kleine Änderung in den Code der Datei ocr_captcha.class.php ein. Die Funktion generate_private sieht jetzt so aus:


    Code:
      
    function generate_private($public="") { 
            if ($public=="") 
                    $public=$this->public_key; 
            $mykey=substr(md5($this->key.$public),12-$this->long/3,$this->long); 
            // changed by Segelfilmer: exchanges all characters that may lead to confusion: 
            $out=array("0", "o", "O", "I", "i"); 
            $in=array("B", "5", "H", "D", "p"); 
            $mykey=str_replace($out, $in, $mykey); 
            return $mykey; 
    }
    Die Buchstaben "0", "o", "O", "I", "i" kommen also ab sofort bei mir nicht mehr vor und werden jeweils durch "B", "5", "H", "D", "p" ersetzt.

    Wer manche schwer unterscheidbare Zeichen ebenso "unangenehm" fand wie ich, kann seinen Code ja ähnlich anpassen.

    Viele Grüße
    Thomas

    http://www.segelfilmer.de

  2. #2
    Neu an Board Avatar von Segelfilmer
    Registriert seit
    01.03.2009
    Beiträge
    43
    Bedankte sich
    18
    Erhielt 8 Danksagungen
    in 8 Beiträgen

    Standard

    Gestern bekam ich von einem Leser weitere Fragen bezüglich des Jambook-Captchas:

    1. Könnten Sie mir sagen, wie Sie die Anzahl der Zeichen im captcha auf drei reduziert haben?
    2. Wie kann mann die Größe des Captcha-Bildes ändern. Wenn ich die Variablen lx und ly ändere tut sich gar nichts.

    in Datei ocr_captcha.class.php:
    Die Anzahl Zeichen werden in der Variable $long gespeichert; diese Variable wird letztlich als erster Parameter an die Funktion
    ocr_captcha übergeben:
    PHP-Code:
        function ocr_captcha($long=6,$lx=120,$ly=30,$nb_noise=25,... 
    >> hier sieht man die Defaultwerte, welche benutzt werden, wenn beim Aufruf der Funktion keine Parameter übergeben werden.

    Aufgerufen wird diese Funktion in der Datei jambook.php:

    PHP-Code:
    // Create CAPTCHA object
    if ( intval$comcfg['usecaptcha'] ) == ) {
    // $captcha = new ocr_captcha(6,120,30,25,$mainframe->getCfg( 'secret' ),"png","components/$option/captcha/","en",$mainframe->getCfg( 'absolute_path' )."/components/$option/Dustismo.ttf",$mainframe->getCfg( 'absolute_path' ),$mainframe->getCfg( 'live_site' ));
    $captcha = new ocr_captcha(4,120,50,40,$mainframe->getCfg'secret' ),"png","components/$option/captcha/","en",$mainframe->getCfg'absolute_path' )."/components/$option/Dustismo.ttf",$mainframe->getCfg'absolute_path' ),$mainframe->getCfg'live_site' ));

    Und genau da muss es geändert werden. Ebenfalls die Werte für Länge und Breite (2. und 3. Parameter)


    --------------------------------------------
    Hier noch ein kleines Extra, wo ich meiner Ansicht nach sinnlosen Jambook-Code in Datei jambook.html.php auskommentiert habe:

    PHP-Code:
    // Hide URL or Homepage
    // SEGELFILMER: auskommentiert, weil es Quatsch ist, die Werte wegzuwerfen, nur weil sie nicht angezeigt werden sollen
    // Wenn der User sie eingibt, und nicht will, dass sie öffentlich gezeigt werden, sollten sie dennoch inder Datenbank landen!
    /*
    if ( isset( $row->attrib_hideemail )  && $row->attrib_hideemail && !$isadmin ) {
    $row->email = '';
    }
    if ( isset( $row->attrib_hideurl ) && $row->attrib_hideurl && !$isadmin ) {
    $row->url = '';
    }
    */ 
    Liebe Grüße - Thomas

    http://www.segelfilmer.de

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein