Ankündigung

Einklappen
Keine Ankündigung bisher.

Captcha

Einklappen

Neue Werbung 2019

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

  • Scriptangebot Captcha

    Captcha

    Hallo ihr lieben...

    ich habe ein kleines Scriptchen geschrieben. Das fur die Sicherheit ihrer homepage gegen Spam sorgen soll - Captcha.

    Mal eine kurze beschreibung:
    1) zufallgenerierter Hintergrund
    2) zufallgenerierte buchstaben
    2) 1) verschiedene abstaende
    2) 2) verschiedene positionen
    3) gestrichelte Linien auf dem hintergrund, farbe - zufallgeneriert

    PHP-Code:
    <?
    session_start();
       //laenge des codes
       $lange = 7;
       $breite = 150;
       $hoehe = 60;
       // hier wird am ende der geheimcode gespeichert
       $wort = "";
      //zufaellige buchstaben generieren
        for($i=0;$i<$lange;$i++)
        {
          $zufall = rand(97,122);
          $wort .= chr($zufall);
        }
      
        //bild erzeugen
        header ('Content-type: image/png');
        $bild = imagecreate($breite, $hoehe) or die("Fehler, kann kein Bild erzeugen!");
        $hintergrund = imagecolorallocate($bild,rand(200,255),rand(200,255),rand(200,255));
        $lines = 10;
        for($a=0;$a<$lines;$a++)
        {
          $x_start = $a*(floor($hoehe/$lines));
          $y_start = 1;
          $x_ende = $x_start;
          $y_ende = $breite;
          $farbe = imagecolorallocate($bild,255,255,255);
          //hintergrundlinien erzeugen
          imagedashedline($bild,$y_start,$x_start,$y_ende,$x_ende,$farbe);
        }
        for($i=0;$i<$lange;$i++)
        {
          $grose = rand(4,12);
          $y = rand(20,40);
          $x = 10+$i*15;
          $text_farbe = imagecolorallocate ($bild, rand(50,150),rand(100,199),rand(100,199)) or die("bla");
          //geheimtext ausgeben
          imagestring($bild, $grose,$x , $y,$wort[$i],$text_farbe);
        }
        imagepng($bild);
        imagedestroy($bild);
        //geheimtext in session speichern
        $_SESSION['geheim'] = $wort;
    ?>
    so, mein Script habe ich so gut wie moeglich auskommentiert
    in eingene Seite einbauen:

    1)Script als captcha.php speichern und mit <img> ausgeben

    PHP-Code:
    <img src=captcha.php>
    //formular wo der geheimtext eingegeben werden soll 
    2) Daten uberprufen
    PHP-Code:
    if($_POST['captcha_feld'] == $_SESSION['geheim'])
    {
       echo 
    "Captcha richtig";
      
    //dein  code
    }else{
       die(
    Catcha code falschzuruck.);


  • #2
    Wenn du jetzt noch validen Code schreiben würdest, nen paar Fehlerüberprüfungen machen könntest dann wäre das auch nützlich

    Kommentar


    • #3
      Und ein Online-Beispiel wäre auch nicht verkehrt, wenn man so ein Script vorstellen möchte - dann muss niemand die Katze am Sack ... äh, ihr wisst schon, was ich meine.


      Und in der Scriptbörse eher deplatziert, deshalb *verschieb*
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #4
        Und in der Scriptbörse eher deplatziert
        Man kann in der Scriptbörse auch Scriptangebote einstellen. Wenn du dort auf "Neues Thema" klickst, kannst du über eine Selectbox eine Extra-Option auswählen.
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Ach so, wusste ich nicht ... na dann geht's halt zurück. *verschieb*
          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

          Kommentar


          • #6
            ^^
            danke fuer die Tipps

            Kommentar


            • #7
              Kleinigkeit noch:

              <img src="captcha.php"> statt <img src=captcha.php>

              <?php statt <?

              und natürlich
              die('Captcha code falsch, zurück'); statt die(Catcha code falsch, zuruck.);

              Ansonsten funktioniert es prima.
              [PHP]if ($var != 0) {
              $var = 0;
              }[/PHP]

              Kommentar


              • #8
                Kannst du mal nen Beispiel von so nem Bild zeigen?

                Im übrigen, in deinem Forum hast geschrieben "detailierte", das schreibt man mit doppel L. Und es heißt auch Registrierung, nicht Regestrierung.

                Kommentar


                • #9
                  So sieht das aus.
                  Angehängte Dateien
                  [PHP]if ($var != 0) {
                  $var = 0;
                  }[/PHP]

                  Kommentar

                  Lädt...
                  X