PHP Captchascript

  • So, nun da mein JS Captcha ja gescheitert is, hier ein besseres PHP Script.

    Auf euren server müssen alle Dateien die hier drin sind:
    captcha.zip
    Wo, ist egal, muss nur alles im gleichen ordner sein.
    Die Bilder in /captcha/ könnt ihr verändern, jedoch nicht die Größe.
    Ebenso könnt ihr eure eigene Schriftart nehmen, allerdings ist das Script auf die Größe der enthaltenen Schriftart ausgelegt.

    Einbinden tut ihr einfach

    HTML
    <img src="captcha.php" border="0">

    dazu natürlich ein input.
    Das vergleicht ihr dann in der Empfang-PHP mit $_COOKIE['cp']
    also:

    PHP
    if ($_POST['captcha']==$_COOKIE['cp']) {
       // weiteres rendering
    }

    Ihr solltet auch keinen Cookie namens "cp" verwenden, den wie gesehen ja das Script verwendet.

    Viel spaß damit!

    Hier ein beispiel Captcha (kein festes bild, generiert :P):
    [Blockierte Grafik: http://thememania.bplaced.net/Nitemare/captcha.php]

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    Einmal editiert, zuletzt von Tobse (11. Februar 2010 um 12:58)

  • Ihr solltet auch keinen Cookie namens "cp" verwenden


    Ihr solltet überhaupt kein Cookie nehmen, sondern Session benutzen.

    Und noch ein Tipp:


    Ist deutlich einfacher als deine Funktion

    Einmal editiert, zuletzt von bandit600 (11. Februar 2010 um 13:18)

  • Also ich finde Captchas schlecht.
    Es gibt kaum Dinge die benutzerunfreundlicher und noch schlechter für Barrierefreiheit sind...

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Meine Funktion habe ich vor c.a. nem halben jahr gebaut, aus nem komplett anderen grund ;)
    Allerdings war mir nich klar, dass es Funktionen wie range() überhaupt gibt ;).
    Das mist der Session ist glaub egal, hat eben dann sinn, wenn man sowieso schon ne Session für einen Nutzer hat, aber ohne stresst es den Server, würd ich sagen.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Du nächstes einem Spammer ja SPÖ leicht. Er muss nur auf eine Seite mit deinem capacha. Danach seine Cookies Auslesen und in das Inputfield schreiben und schon kann er Spammn. Darum solltest du Sessionen verwenden.

  • Hm, da haste eindeutig recht.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!