Raketeninstandhaltungsmechaniker: Captcha

Beitrag lesen

problematische Seite

Zum einen habe ich beim "blind schreiben" zwei Klammern vergessen, zum anderen hat der Quelltexthighlighter des Forum irgendwie meinen Quelltext "verhunzt" ( ___PHP0___, ___PHP2___; hab ich nicht getippt...).

Was jetzt unten steht ist also getestet.

Erstes Snippet. Das Captcha "standalone":

<?php 
require_once 'ftxCaptcha.php';
$captcha = new ftxCaptcha();
if( 
       isset( $_POST['ftxAnswer'] ) 
   and isset( $_POST['ftxAnswer'] )
   and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] ) )
) {
  echo '<p>Fein! Du hast das Captcha gelöst.</p>';
} else {
  echo '<p>Löse das Captcha!</p>';
  $captcha -> getForm( 'POST' );
}

Zweites Snippet: Das Captcha in ein Formular einbauen:

<?php

require_once 'ftxCaptcha.php';
$captcha = new ftxCaptcha();

if( 
      isset( $_POST['ftxAnswer'] ) 
  and isset( $_POST['ftxAnswer'] )
  and ( $captcha -> validateAnswer( $_POST['ftxAnswer'], $_POST['hash'] ) )
) {

     ######################################
     # Hier Nachricht senden, bestätigen: #
     ######################################
     header('Location: danke.html');

} else {

  if( isset($_POST['name'] ) ) {
     $name = $_POST['name'];
  } else {
     $name = ''; 
  }

  if( isset( $_POST['name'] ) ) {
     $message = $_POST['message'];
  } else {
    $message = ''; 
  }
?><form method="post">
  <label>Ihr Name:
     <input name="name" value="<?=htmlentities( $name, ENT_COMPAT | ENT_HTML5 ); ?>">
  </label>

  <label>Ihre Nachricht:
     <textarea name="message"><?=htmlentities( $message, ENT_NOQUOTES | ENT_HTML5 );?></textarea>
  </label>
  <?php $captcha -> getForm( false ); ?>;
  <button>senden</button>
</form>
<?php 
}
?>

Nicht vergessen in der ftxCaptcha.php in Zeile 3 das Geheimnis auzutauschen. So lange dort das Original steht wird das Skript abbrechen.

Kritik

  • Es gibt maximal 300 (10² * 3 ) verschiedene Aufgaben, die sich aber bei näherer Betrachtung als 2 * 10² / 2 (Bei Addition und Subtraktion ist die Reihenfolge egal) + 10², also 200 verschiedene Aufgaben erweisen.
  • Als Ergebnis kommen nicht viele Zahlen in Betracht, die Zahlen zwischen 2 und 8 mit signifikant erhöhter Wahrscheinlichkeit, bis 20 mit erhöhter Wahrscheinlichkeit, über 20 nur bei Mulitplikation.
  • Ein „Brut-Force-Attacke“ würde ich einfach damit probieren, stur entweder die 4,6,8 oder die 9 wiederholt zu senden.
  • Dem könnte man begegnen, in dem man den Zahlenraum (bei mir 1 bis 10) vergrößert. Allerdings wird das wieder nutzerunfreundlich, denn etwas wie „14*233=“ löst längst nicht jeder im Kopf.
  • Andererseits könnte ein Angreifer auch den String mit der Aufgabe parsen. Mir erscheint das als „unglaublich einfach“ - aber aus genau diesem Grund kann ich mein Geld auch anders verdienen.

Hint:

Im Übrigen setze ich beim Kontaktformular eher auf einen Spamfilter. Der meine funktioniert seit anderthalb Jahrzehnten recht ordentlich, es kommt inzwischen vielleicht ein oder zwei mal im Jahr was durch:

  • Um so mehr ärgere ich mich dann 👿.
0 128

css Kompatibilität IE / Edge

bugfix
  • css
  1. 0

    css kompatibelität IE / Edge

    Martl
    1. 0
      bugfix
      1. 0
        Rolf B
      2. 1
        Martl
        1. 0
          bugfix
  2. 1

    css kompatibelität IE / Edge

    Rolf B
    1. 0
      Matthias Apsel
    2. 1
      Rolf B
      1. 0
        Matthias Apsel
        1. 0
          Rolf B
      2. 0
        bugfix
        1. 1
          Rolf B
          1. 0
            bugfix
  3. 0

    css kompatibelität IE / Edge

    Rolf B
    1. 0
      bugfix
      1. 1
        Rolf B
        1. 0
          bugfix
    2. 1

      Captcha

      Raketenwissenschaftler
      • barrierefreiheit
      • php
      • software
      1. 0
        bugfix
        1. 0
          Raketenwissenschaftler
          1. 0
            bugfix
            1. 0
              Der Martin
              • humor
              • mathematik
              1. 0
                Gunnar Bittersmann
                • humor
                • menschelei
              2. 0
                bugfix
            2. 0
              Tabellenkalk
            3. 0

              Über: „sehr viel Zeit investieren“

              Raketeninstandhaltungsmechaniker
              • menschelei
          2. 1
            Raketeninstandhaltungsmechaniker
            1. 1
              Der Martin
              1. 1
                Raketeninstandhaltungsmechaniker
                1. 0
                  Matthias Apsel
                  1. 0
                    Raketeninstandhaltungsmechaniker
                2. 0
                  bugfix
                  1. 0
                    Der Martin
                    1. 0
                      bugfix
                      1. 1
                        Der Martin
                        1. 0
                          bugfix
                  2. 1
                    Raketenbürokrat
                    1. 1
                      Raketenbürokrat
                    2. 0
                      bugfix
                      1. 1

                        Captcha, Beispiel und Test mit vollständigem Formular, Wichtige Warnung

                        Raketenbürokrat
                        • php
                        • sicherheit
                        1. 0
                          bugfix
                          1. 1
                            Schon gehackt!
                            1. -1
                              Raketenhacker
                              1. 1
                                Julius
                                1. 0
                                  Gunnar Bittersmann
                                  • literatur
                                  • menschelei
                                  1. 0
                                    Julius
                                    1. 0
                                      Gunnar Bittersmann
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Gunnar Bittersmann
                                      2. 1
                                        Gunnar Bittersmann
                          2. 2
                            Julius
                            1. 2
                              Julius
                              1. 3
                                Julius
                                1. 0
                                  Matthias Scharwies
                                  • projekt
                                  1. 0

                                    Seuche

                                    Raktenstatistiker
                                    • projekt
                                    • sicherheit
                                  2. 1
                                    Julius
                                    1. 0
                                      Der Martin
                                2. 0
                                  bugfix
                              2. 1
                                Julius
                                • php
                                • sicherheit
                                • wiki
                                1. 0

                                  SELF-Wiki neue PHP-Tutorials

                                  Matthias Scharwies
                                2. 0
                                  Raketenporzellankistengroßmutter
                                  1. 0

                                    (Erläuterung)

                                    Raketenporzellankistengroßmutter
                                    1. 1
                                      Julius
                                      1. 0
                                        Raketenporzellankistengroßmutter
                                        1. 2
                                          Julius
                                          1. 0
                                            Raketenporzellankistengroßmutter
                                  2. 1
                                    Julius
                                    1. 1
                                      Julius
                                      1. 0
                                        bugfix
                                        1. 2
                                          Julius
                                          • recht
                                          • wiki
                                          1. 0
                                            Gunnar Bittersmann
                                            • datenschutz
                                            • datenschutz
                                            • recht
                                            1. 2
                                              Julius
                                          2. 0
                                            bugfix
                                            1. 2
                                              Julius
                                              1. 0
                                                bugfix
                                      2. 0
                                        Matthias Scharwies
                    3. 0
                      bugfix
                      1. 0
                        Der Martin
                        1. 0
                          bugfix
                          1. 0
                            Der Martin
                          2. 3

                            Bugfix! Du musst was tun!

                            Raktenbugfinder
                            • sicherheit
                            1. 0
                              bugfix
                              1. 2
                                Raketenvereinfacher
                                • php
                                1. 0
                                  Raketenquelltextkorrigierer
                                  1. 0
                                    bugfix
                                    1. 0
                                      Raketencomputerpsychologe
                                      1. 0
                                        bugfix
                                        1. 0
                                          Raketenpsychologe
                                          1. 0
                                            bugfix
                                            1. 0
                                              Raketenfuzzi
                                              1. 0
                                                bugfix
                                                1. 1
                                                  Raktenkonfigurationsseppl
                                                  • programmiertechnik
                                                  1. 0
                                                    bugfix
                                            2. 1
                                              Rolf B
                                              1. 0
                                                bugfix
                                                1. 7
                                                  Rolf B
                                                  1. 0
                                                    Raketenbetrachter
                                                    • meinung
                                                    • programmiertechnik
                                                    1. -1
                                                      bugfix
                                                  2. 1
                                                    bugfix
                                                    1. 2
                                                      Julius
                                                      • html
                                                      • javascript
                                                      • php
                                                      1. 0
                                                        bugfix
                          3. 2
                            Julius
                            1. 0
                              bugfix
                              1. 0
                                Der Martin
                              2. 0
                                Raketenortungssystem
                                1. 0
                                  bugfix
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      bugfix
                                      1. 0
                                        Tabellenkalk
                                        1. 0
                                          bugfix
                                          1. 0
                                            Gunnar Bittersmann
                                  2. 1

                                    Desinfektionsmittel

                                    Raketenhellseher
                              3. 0
                                Matthias Apsel
                            2. 1
                              Matthias Apsel
            2. 0

              Break this Captcha

              Raketeninstandhaltungsmechaniker
  4. 1

    css kompatibelität IE / Edge

    Gunnar Bittersmann
    • design
    • formulare
    • ux
    1. 0
      bugfix
      1. 0
        Gunnar Bittersmann
        1. 0
          bugfix
          1. 0
            Gunnar Bittersmann
          2. 2
            Gunnar Bittersmann
            1. 0
              bugfix
            2. 0
              bugfix
      2. 1
        Matthias Apsel
        1. 0
          Der Martin
        2. 0
          bugfix