_roro: CAPTCHA so in Ordnung?

Beitrag lesen

Hallo Christian,

Was jedoch gibt die HTML-Datei nach draußen?

Ich hab das CAPTCHA noch gar nicht eingebaut ... hab mir ehrlich gesagt noch keine Gedanken gemacht ... was muss ich da denn beachten?

Ganz einfach: Es darf für den Besucher (oder den mistigen Bot) nicht erkennbar sein, was für ein Zusammenhang zwischen dem mit GD.pm erzeugten Zeichenstring und dem in einem Cookie oder in einem hidden-field abgelegten "session-key" besteht.

Hier ein Schmankerl aus meiner Parxis:

Frage:
Wie kann ich einen Text verschluesseln ? Als Anwendung denke ich da an
Filenamen, welche von meinem Formular an das CGI-Script uebergeben werden
(hidden-Parameter), aber nicht unbedingt im Klartext erscheinen sollen.

Antwort:
Allgemeine Herangehensweise:

Man nimmt Text und einen geheimen Schluessel, verknotet beide und gibt den
Buchstabensalat weiter. Der Empfänger entknotet den Text wieder mit diesem
Schlüssel (synchrone Verschlüsselung).
Die ist bei grossen Schlüsseln relativ sicher, man sollte bei längeren Texten
die Häufigkeit bestimmter Buchstaben ausschliessen (z.B. noch zusätzlich packen).

Hier der Code:

$z="Alle meine Entchen schwimmen auf dem See.";
@geheim=(61,52,43,34,25,16);
$len=scalar(@geheim);

$crypt=join "",
  map { $i=($i+1)%$len;
        chr((ord($_)+$geheim[$i])%256) } split //,$z;

$i=0;
$orig=join "",
  map { $i=($i+1)%$len;
        chr((ord($_)-$geheim[$i]+256)%256) }
         split //,$crypt;

print "Geheim:#$crypt#\n";
print "Orig:#$orig#\n";

Der Key für eine derartige synchrone Textverschlüsselung ist zusammen mit der Session in der DB zu speichern. Damit hat ein Bot keine Chance mehr.

--roro

0 50

CAPTCHA so in Ordnung?

Christian Bliß
  • meinung
  1. 0
    Klawischnigg
    1. 0
      Christian Bliß
  2. 0
    _roro
    1. 0
      Christian Bliß
      1. 0
        _roro
        1. 1
          Christian Bliß
          1. 0
            _roro
            1. 0
              Christian Bliß
              1. 0
                Rouven
                1. 0
                  Christian Bliß
                  1. 0
                    Rouven
                    1. 0
                      Christian Bliß
                      1. 0
                        Marc Reichelt
              2. 0
                _roro
  3. 0
    Henrico Hamstar
    1. 0
      Christian Bliß
      1. 0
        Henrico Hamstar
  4. 0
    Gunnar Bittersmann
    1. 0

      CAPTCHAs: niemand will sie, viele haben sie - Alternativen?

      Marc Reichelt
      1. 0
        Jeena Paradies
        1. 0
          Marc Reichelt
      2. 1
        Schuer
      3. 0
        Maxx
        1. 0
          Jonathan
        2. 0
          Struppi
      4. 0
        Tim Tepaße
        1. 0
          Jonathan
          1. 0
            Maxx
            1. 0
              Jonathan
              1. 0
                Tim Tepaße
                1. 0
                  Jonathan
    2. 0
      Christian Bliß
      1. 0
        Gunnar Bittersmann
        1. 0
          Jonathan
  5. 0

    Btw...

    _roro
    1. 0
      Marc Reichelt
      1. 0
        _roro
        1. 1
          Marc Reichelt
    2. 1
      Siggi
      1. 0
        Henrico Hamstar
        1. 0
          Siggi
          1. 0
            Mathias Brodala
    3. 0
      Henrico Hamstar
  6. 0
    Jonathan
    1. 0
      Christian Bliß
      1. 0
        Jonathan
        1. 0
          Christian Bliß
          1. 0
            Jonathan
      2. 0
        Længlich