JavaScript Captcha

  • Zu erst müsst ihr in eurem formular ein img-Tag anlegen, dass so aussieht:

    Code
    <img src="z.B./captchas/captcha_leer.png" name="captchaimgae" border="0" />

    und dann och ein eingabefeld:

    Code
    <input type="text" name="captchacode" border="0" />

    dann fügt ihr in euren head-tag folgendes ein:

    Code
    <script type="text/javascript" language="javascript" src="captcha.js"></script>

    und dann noch in den body-tag:

    Code
    onload="captchagenerate()"

    und dann noch einen senden-knopf

    Code
    input type="button" value="Senden" onclick="formproof()" />

    und in die datei captcha.js kommt folgendes:

    da, wo im code capcode['1']=""; steht, kommen jetzt deine Captcha-codes rein. wenn dann also bei
    capcode['1']="GjBm67u"; sthet, muss in captchas['1']="irgendwo" auf das bild verwiesen werden, indem der code GjBm67u steht.
    und so bei 1-15.

    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!

  • sollte man nicht nehmen da man javascript im browser aussalten kann

  • Wird das formular ohne js gesendet??????
    --------->nein

    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!

  • Wenn Nein, dann sperrst du einige User aus und das finde ich nicht klug gelöst.
    Dann eher eine Ausweichfunktion (Captcha) über PHP oder einer anderen serverseitigen Sprache.

  • @ff5.0,
    wer was haben will,d er muss halt js anschalten. Was is daran eig. so gefährlich, dass man es ausschalten können muss?
    The User
    ja umso besser, dann habe ich mir die Captcha mühe ja umsonst gemacht.
    und das 1zu0 für JS gegen PHP in sachen antibot!

    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!

  • Herzlichen Glückwunsch!

    Nun hast du ein Formular, welches die Daten per Get an die selbe seite verschickt.
    Da tun sich ganz andere Sicherheitslücken auf^^

    Ganz ehrlich: untauglicher Mist


  • sollten wir nicht, wenn dann über den code und nicht über das formular sprechen

    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!

  • Das Formular gehört eigentlich auch zum Code :P
    Meiner Meinung anch zumindest..^^

    Ich zitiere - mich:
    "Ohne Preis, kein Schweiß... :cool:"

  • Ah, jetzt verstehe ich deine intelligente Sicherung gegen das Verschicken ohne Javascript. *g*
    Bloß interessiert Bots auch nicht, welcher Buttons gedrückt werden soll, so wie wenn man direkt form.submit() macht. Kommt natürlich auf den Bot an. Vielleicht sind manche verwirrt, wenn sie kein submit() finden. Eine Idee wäre natürlich ein unsichtbarer Submit-Button, wenn der gedrückt wird, ist es ein Bot. Aber: Da ist ein unsichtbares Text-Feld besser, denn Bots werden sicherlich versuchen die EMail anzugeben, Buttons zu drücken ist etwas Anderes. Mit so einem Text-Feld kommen auch Leute ohne JS rein.

  • Des ist doch ein schmarn, wenn man ohne js kein Formular absenden kann, man kann das Formular trotzdme absenden, besorg dir endlich mal php wie oft noch, du machst nur pfusch

  • sollten wir nicht, wenn dann über den code und nicht über das formular sprechen

    Ja? Willst du ernsthaft über deinen Code sprechen?

    Na gut, aber das wird nicht besser, ich habs mir vorhin sogar extra verkniffen.

    fangmer an:
    1. Deine Arrays müssen von Hand gefüllt werden. Dann noch Ne Menge Bilder selbst erstellt werden. Bei dem Arbeitsaufwand bin ich schneller, wenn ich mir nen eigenes Captchascript schreibe, ob nun php oder was anderes. Sogar mit vernünftigem Javascript bin ich da schneller.

    2. sach ma, guck ich nicht richtig, oder was zum Teufel ist cd bei

    Code
    if (cd!=capcode[capzahl]) {

    ????

    3. Machst du den selben Rechtschreibfehler wenigstens konsequent :roll:
    imgae! wtf?

    4. Die Funktion in den onload? Fast alle vernünftig programmierten Webseiten laufen komplett über eine(!) Index-seite. Sollen die jetzt wegen nem Captcha jedes mal diese Funktion laden? Hast du eine Vorstellung, was das bei ner großen Seite mit eigenen Servern kosten würde?

    Soll ich weitermachen?


  • Tobse

    warum lässt du nicht gleich deine ganze seite per JS bauen ... und die leute ohne JS haben halt pech gehabt... denk nochmal ganz genau nach und guck dir den code und das was du gesacht hast nochmal an und dann frage dich "was mach ich da eigendlich für einen mist?" also echt lern erstmal vernünftiges html, css und php ...bevor du mit JS is nen sinnlosen schwachsin schlecht zusammen codest...

  • Tobse

    ...bevor du mit JS is nen sinnlosen schwachsin schlecht zusammen codest...

    Na, ich find nicht, dass man direkt mit derart Titeln um sich werfen muss (auch wenn sie in so einer schönen Alliteration stehen :lol:) Der Meinung jedoch, dass das Script sinnlos ist, stimme ich natürlich zu.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • @Macro
    Machs besser. (mit js!)

    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!

  • @Macro
    Machs besser. (mit js!)

    Darum gehts nicht , selbst das beste Javascript Captcha würde nix bringen...

    Warum besorgst du dir keinen anderen Webspace?

    Warum ?

  • ich weiss net ob der neue php hat, ich probiers aus.
    <?php
    phpinfo();
    >
    war das doch, oder?
    EDIT:
    Wenn der code gestimmt hat, hat er kein php. Und warum? Weil FreeHost-URLs unseriös wirken.

    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 (12. Juni 2009 um 17:52)

  • Ja wies oll ich das dann machen, eine url bei nem freehost anlegen die dann heist:
    php-thememania.freehost.wasweisich und die sachen dahin schicken? Nene, der FormMailer is mir lieber.

    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!