Ankündigung

Einklappen
Keine Ankündigung bisher.

Captcha Bild Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Captcha Bild Problem

    Nun ich arbeite grade an einem Captcha.

    Ich habe also dieses Bild hier generiert



    und möchte dasrüber noch ein Bild drüberlegen, bzw irgendwie erreichen, das viele graue oder bunte pixel darüber liegen z.b. so hier



    ich bräuchte nur einen denkanstoss wie man sowas am besten realisieren könnte

    hat jemand ne idee?

  • #2
    Re: Captcha Bild Problem

    Rauschen:
    Zitat von danysahne333
    hat jemand ne idee?
    Ein paar verrauschte transparente Bilder erzeugen und drüberlegen. Mit GD dürfte es zu lange dauern, das Bild zusammenzupixeln.

    Der Effekt ist wesentlich größer, wenn Du stattdessen die Zeichen mit ein paar unregelmäßigen weiße Linien "zerschneidest". Dann wird für ein OCR Script die Vektorverfolgung und die Offenheitsbewertung zum Problem.

    Kommentar


    • #3
      also mein bild wird durch folgenden code generiert:

      PHP-Code:
      <?

      // Session initialisieren
      session_start();


      // Text holen
      $RandomText = $HTTP_SESSION_VARS["RndText"];
      $Grafik=imagecreatefrompng("hintergrundbild.png");

      $Textfarbe1 = imagecolorallocate($Grafik, 128, 128, 128);
      $Textfarbe2 = imagecolorallocate($Grafik, 0, 0, 0);
      $Textfarbe3 = imagecolorallocate($Grafik, 50, 171, 4);
      $Textfarbe4 = imagecolorallocate($Grafik, 128, 128, 128);
      $Textfarbe5 = imagecolorallocate($Grafik, 128, 128, 255);
      $Textfarbe6 = imagecolorallocate($Grafik, 255, 128, 128);


      // Text auf Grafik legen
      imagettftext($Grafik, 40, -10, 5, 47, $Textfarbe1, "arial.ttf", $RandomText[0]);
      imagettftext($Grafik, 40, 10, 40, 44, $Textfarbe2, "arial.ttf", $RandomText[1]);
      imagettftext($Grafik, 40, 0, 75, 47, $Textfarbe3, "arial.ttf", $RandomText[2]);
      imagettftext($Grafik, 40, -10, 110, 44, $Textfarbe4, "arial.ttf", $RandomText[3]);
      imagettftext($Grafik, 40, 0, 145, 44, $Textfarbe5, "arial.ttf", $RandomText[4]);
      imagettftext($Grafik, 40, 10, 180, 47, $Textfarbe6, "arial.ttf", $RandomText[5]);


      // Bild augeben
      imagegif($Grafik);

      ?>
      wie lege ich denn da bilder drüber? text kann ich einwandfrei drüberlegen. aber bilder? mit welcher funktion?

      Kommentar


      • #4
        hat sich erledigt, es geht mit

        imagecopymerge();

        Edit: Was haltet ihr von diesem?

        Kommentar


        • #5
          Zitat von danysahne333
          Edit: Was haltet ihr von diesem?
          Sieht gut aus.

          Kommentar


          • #6
            Hey

            Mal eine Frage: Darf man Deinen Code in seinen eigenen Projekten verwenden? Ich arbeitete selbst gerade an einer solchen Captcha-Lösung für mein Gästebuch. Da stieß ich durch die Boardsuche auf Deines, und finde es sehr gut.

            Ich würde den Code etwas abändern, aber größtenteils übernehmen. Wollte Dich vorher fragen, denn ich vertreibe mein Gästebuch unter GPL. Somit wäre Dein Code dann auch OpenSource.

            Ich würde Dich im GB (in dem Handbuch) sowie auf der Download HP namentlich erwähnen, mit einem Hinweis darauf daß der Code von Dir ist, und natürlich würdest Du einen Link zu Deiner HP bekommen.

            Ich warte gespannt auf Antwort,
            Weyoun

            Kommentar


            • #7
              Das erste Zeichen ist immer grau, um -10 Grad geneigt usw usw.
              Das zweite Zeichen ist immer schwarz usw usw
              usw usw
              Ohne Variationen läßt sich das alles normalisieren und dann noch relativ einfach auswerten.

              Kommentar


              • #8
                Zitat von Weyoun
                Hey

                Mal eine Frage: Darf man Deinen Code in seinen eigenen Projekten verwenden? Ich arbeitete selbst gerade an einer solchen Captcha-Lösung für mein Gästebuch. Da stieß ich durch die Boardsuche auf Deines, und finde es sehr gut.

                Ich würde den Code etwas abändern, aber größtenteils übernehmen. Wollte Dich vorher fragen, denn ich vertreibe mein Gästebuch unter GPL. Somit wäre Dein Code dann auch OpenSource.

                Ich würde Dich im GB (in dem Handbuch) sowie auf der Download HP namentlich erwähnen, mit einem Hinweis darauf daß der Code von Dir ist, und natürlich würdest Du einen Link zu Deiner HP bekommen.

                Ich warte gespannt auf Antwort,
                Weyoun
                ja, wenn du es so machst geht das klar!

                @Bruchpilot: Richtig erkannt, ich arbeite da auch gerade an einer randomfunktion, dauert aber noch

                Kommentar


                • #9
                  zur zufallsfunktion: ich möchte das die farben erstmal zufällig sind und habe diesen codeanschnitt hier

                  PHP-Code:
                  $Textfarbe1 imagecolorallocate($Grafik128128128); 
                  $Textfarbe2 imagecolorallocate($Grafik000); 
                  $Textfarbe3 imagecolorallocate($Grafik501714); 
                  $Textfarbe4 imagecolorallocate($Grafik128128128); 
                  $Textfarbe5 imagecolorallocate($Grafik128128255); 
                  $Textfarbe6 imagecolorallocate($Grafik255128128); 


                  // Text auf Grafik legen 
                  imagettftext($Grafik40, -10547$Textfarbe1"arial.ttf"$RandomText[0]); 
                  imagettftext($Grafik40104044$Textfarbe2"arial.ttf"$RandomText[1]); 
                  imagettftext($Grafik4007547$Textfarbe3"arial.ttf"$RandomText[2]); 
                  imagettftext($Grafik40, -1011044$Textfarbe4"arial.ttf"$RandomText[3]); 
                  imagettftext($Grafik40014544$Textfarbe5"arial.ttf"$RandomText[4]); 
                  imagettftext($Grafik401018047$Textfarbe6"arial.ttf"$RandomText[5]); 
                  nun möchte ich aber das die farben zufällig sind, also zufällig aus den 6 angegebenen oder auch mehreren.
                  doch wie löse ich das? ich komm einfach nicht drauf

                  funktion würde ich rand() nehmen.

                  hat jemand nen denk anstoss?

                  EDIT: hat sich erledigt, bin dran

                  Kommentar


                  • #10
                    So um nochmal einen Beitrag zu schreiben, ja ich weiss der edit-button

                    Ich habe jetzt die Catpcha-Klasse soweit fertig:
                    Zufällige Höhe, Schriftfarbe, Schriftneigung jetzt dabei.

                    GPL Verweis ist im Archiv mit drin.

                    Hier gehts zum Download

                    Wäre über feedback dankbar

                    Kommentar


                    • #11
                      Gefällt mir schon wesentlich besser.
                      Jetzt vielleicht noch die Möglichkeit einbauen, verschiedene Hintergründe/Overlays zu benutzen.
                      Bspw
                      PHP-Code:
                      $background glob('backgrounds/*.png');
                      $background $background[array_rand($background)];

                      $overlay glob('overlays/*.png');
                      $overlay $overlay[array_rand($overlay)]; 
                      Allerdings kenne ich mich garnicht damit aus, was wirklich schwer maschinell erkennbar ist.

                      Kommentar


                      • #12
                        Zitat von danysahne333
                        Wäre über feedback dankbar
                        Gesaugt: ja
                        Feedback: muß erst testen

                        Du kannst auch selbst testen, falls Du über ein OCR Programm verfügst (zB. Omnipage): einfach das Bild mal an das Programm verfüttern. Es reicht aus, wenn der Fehler > 0% bzw. die Erkennung < 100% ist.

                        Ein falsch erkannter Buchstabe reicht ja schon aus...

                        Kommentar


                        • #13
                          PHP-Code:
                          <?php
                              $CAPTCHA_EnteredText 
                          $HTTP_POST_VARS["txtCode"];
                              
                          $CAPTCHA_RandomText $HTTP_SESSION_VARS["CAPTCHA_RndText"];
                          ?>

                          In welchem Zeitalter lebst du?

                          In der captcha.php gibt es switch/case warum in der captcha_img.php denn nicht?

                          Image header auch weggelassen...


                          Eine Captcha-Klasse ohne <class>...
                          Diese Erweiterung ist EXPERIMENTELL.
                          [...]
                          Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

                          Kommentar


                          • #14
                            Zitat von andy
                            In welchem Zeitalter lebst du?

                            In der captcha.php gibt es switch/case warum in der captcha_img.php denn nicht?

                            Image header auch weggelassen...


                            Eine Captcha-Klasse ohne <class>...
                            Nun, das hier ist ja auch das Forum für Anfänger.

                            Kommentar


                            • #15
                              so habe die sache mit dem "$HTTP_POST_VARS" usw geändert. Wirklich dummer Fehler. Header ist jetzt auch vorhanden.

                              vielleicht könnte mir jemand helfen bei der captcha_img.php für die Zufallsfunktionen? Ich habe das auf die schnell erstmal so gelöst gehabt.

                              Anfänger machen leider nun mal Fehler!

                              habe das ganze mal mit ner testversion von "ABBYY Finereader Professional Edition 8" getestet und nichts einlesen können bzw nur quark.

                              Kommentar

                              Lädt...
                              X