jQuery: Überprüfen ob fremdes Captcha richtig ausgefüllt ist

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • jQuery: Überprüfen ob fremdes Captcha richtig ausgefüllt ist

    Hallo,
    ich hab wieder ein Problem mit einem userscript ;(

    Ich habe ein Formular mit Captcha:

    Source Code

    1. <td background="/static/bgg.png" valign="top" width="570">
    2. <br><br>
    3. <table border="0" cellpadding="0" cellspacing="0" width="100%">
    4. <tbody><tr>
    5. <td align="center" background="/static/menu.png"><img src="/static/menu2.png" alt="" align="absmiddle" height="30" width="1">
    6. <a href="/premium.php">jetzt PremiumAccount bestellen</a>
    7. </td>
    8. </tr>
    9. </tbody>
    10. </table><br>
    11. Hallo Scrat96,<br><br> du willst Wasser suchen gehen. Das dauert ca. 30 Minuten.<br><br><br>
    12. <form action="wasser.php" method="post">
    13. <input name="do" value="true" type="hidden">
    14. <table border="0">
    15. <tbody><tr>
    16. <td colspan="2">
    17. <b>Zufallscode bitte abschreiben:</b>
    18. </td>
    19. </tr>
    20. <tr>
    21. <td>
    22. <input name="zufallscode" size="4" type="text">
    23. </td>
    24. <td>
    25. <img src="checkbild.php?sid=39ab04c20f6ebbb43f30004c964e28f3&amp;code=788">
    26. </td>
    27. </tr>
    28. </tbody></table>
    29. <br>
    30. <input value="Wasser suchen" type="submit">
    31. </form>
    32. <!-- INHALT ENDE -->
    33. <br>
    34. </td>
    Display All


    Sobald auf den Submitbutton mit dem Value "Wasser suchen" gedrückt wird und der Code richtig eingeben ist, soll eine einfache Fnktion auseführt werden.Ist das mit jQuery möglich?
    Wenn der Code richtig eingeben ist, wird diese gesamte td auf der Seite gelöscht und ein neuer Inhalt geladen "Du bist jetzt 30 Minuten Wassersuchen". Kann man evtl. damiteine Alternative machen? Die Seite wird allerdings nicht neu geladen.

    Danke ;)
  • Hi,

    ja, das ist natürlich möglich, das eine Funktion aufgerufen wird.

    Damit das Formular nicht abgesandt wird, musst du entweder den submit via js unterbinden oder die einfachere Möglichkeit nutzen und aus dem "submit" einen "button" machen.

    Mit jQuery kannst du dann einfach das Click Event nutzen.


    Die Clientseitige Abfrage ob die Eingabe richtig ist, funktioniert nur mit Ajax.
    (Ausser natürlich, der richtige Code des Captchas steht im Quelltext und ist Clientseitig verfügbar, wovon ich mal nicht ausgehe, da dann das ganze Captcha keinen Nutzen bringt ;) ).


    Beim klicken sendest du die Daten asynchron an den Server, welcher das Catpcha überprüft und du dann bei "success" deine gewünschten Operationen ausführst, also die Captchaeingabe löscht und den Text einfügt.
  • JaffaCoder wrote:

    Wieso muss man den input in einen button umwandeln? Das ist mir noch unklar

    da beim klicken eines "submit-buttons" das Formular abgesandt, also ein Http Request erzeugt wird so, dass deine Seite neu geladen wird.
    Du selber möchtest ja, das das neuladen der Seite verhindern, den Http Request also asynchron ausführen (Ajax=Asynchronous JavaScript and XML) so, dass dieser im Hintergrund ausgeführt wird. Dafür musst du das absenden des Formulars unterbinden, was du erreichst, indem du aus dem submit einen button machst, da dieser das Formular nicht abschickt.
  • vince wrote:

    JaffaCoder wrote:

    Wieso muss man den input in einen button umwandeln? Das ist mir noch unklar

    da beim klicken eines "submit-buttons" das Formular abgesandt, also ein Http Request erzeugt wird so, dass deine Seite neu geladen wird.
    Du selber möchtest ja, das das neuladen der Seite verhindern, den Http Request also asynchron ausführen (Ajax=Asynchronous JavaScript and XML) so, dass dieser im Hintergrund ausgeführt wird. Dafür musst du das absenden des Formulars unterbinden, was du erreichst, indem du aus dem submit einen button machst, da dieser das Formular nicht abschickt.


    Nenene, das mein ich nicht ;)
    Die Seite wird beim absenden des Formulars nicht neu geladen, sondern editiert.
  • JaffaCoder wrote:

    vince wrote:

    JaffaCoder wrote:

    Wieso muss man den input in einen button umwandeln? Das ist mir noch unklar

    da beim klicken eines "submit-buttons" das Formular abgesandt, also ein Http Request erzeugt wird so, dass deine Seite neu geladen wird.
    Du selber möchtest ja, das das neuladen der Seite verhindern, den Http Request also asynchron ausführen (Ajax=Asynchronous JavaScript and XML) so, dass dieser im Hintergrund ausgeführt wird. Dafür musst du das absenden des Formulars unterbinden, was du erreichst, indem du aus dem submit einen button machst, da dieser das Formular nicht abschickt.


    Nenene, das mein ich nicht ;)
    Die Seite wird beim absenden des Formulars nicht neu geladen, sondern editiert.

    Ich hab ja auch geschrieben, dass du das Neuladen der Seite nicht möchtest.

    Mit edidiert meinst du du das einfügen des Textes ? Wenn ja, dann nimm lieber manipuliert ;)
  • Wobei wenn man es auf ne skurile Weise lösen will dann kann man im Captcha ein Kommentar hinzufügen mit dem "output" und das ganze dann filtern.
    Geht sicherlich auch und keiner würde auch auf die Idee kommen da nachzuschauen.

    Ist keine Problemlösung, aber das ist das was mich spontant eingefallen ist und was ich teilen wollte :p