socko: Sicherheitstechnik mit "als Bild generierten Zahl"

Hallo Leute;

ich habe eine Frage, auf die ich bislang keine Antwort gefunden habe.
Und zwar möchte ich wissen, wie man generierte Benutzereingaben durch Eingabe einer als Bild generierten Zahl verhindern kann.
_Beispiel_: http://www.fussballstatistiken.de und dann auf ein Team klicken.

Kann mir das jemand grob erklären. Wo kann ich das genaue nachlesen?
Also nicht wie im einzelnen das prgrammiert ist, sondern eher das Prinzip die Sicherheitstechnik.

Vielen Dank schonmal,
S.

  1. Hi

    Und zwar möchte ich wissen, wie man generierte Benutzereingaben durch Eingabe einer als Bild generierten Zahl verhindern kann.

    Ich habe das selber noch nie gemacht, erkläre mir das aber folgendermassen: Du generierst am Server eine Zufallszahl, welche du als Zahl speicherst und gleichzeitig in ein Bild umwandelst. Das Bild schickst du an den Client. Wenn vom Client nun die Zahl zurück kommt, die du zuvor gespeichert hast, dann hat sie höchst Wahrscheinlich ein Mensch eingegeben. Dieses Verfahren schützt vor generierten Seitenaufrufen, weil ein Programm, welches die Seite aufruft bzw. die Formulardaten senden will, die Zahl meist nicht aus dem Bild lesen kann. Dazu wäre wohl eine OCR-Software nötig, wodurch jedoch der ganze Prozess wieder arg verlangsamt würde.
    Beim letzten grossen Wettbewerb der c't haben die sogar mit unterschiedlichsten Schriftarten gearbeitet, um eine automatische Auswertung noch mehr zu erschweren.

    FG & HTH

    Tom2

    --
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
    1. hi,

      Beim letzten grossen Wettbewerb der c't haben die sogar mit unterschiedlichsten Schriftarten gearbeitet, um eine automatische Auswertung noch mehr zu erschweren.

      daneben werden dann oft auch noch "effekte" auf das bild angewandt, welleneffekt, geringer farbkontrast, etc.

      allerdings sollte man immer daran denken, dass man damit auch die hürde für den menschlichen nutzer erhöht, für manche (sehbehinderte) evtl. gleich gar zu hoch.

      gruß,
      wahsaga

      --
      I'll try being nicer if you'll try being smarter.
  2. Hallo Leute;

    Hallo!

    Kann mir das jemand grob erklären. Wo kann ich das genaue nachlesen?
    Also nicht wie im einzelnen das prgrammiert ist, sondern eher das Prinzip die Sicherheitstechnik.

    Es geht einfach darum, den Zugriff auf eine Seite nur menschlichen Betrachtern zu gewähren (aus welchem Grund auch immer, z.b. um Traffic von irgendwelchen Robots zu verhindern). Eine statische Hürde ("geben Sie in das Feld unten '27' ein") wäre für jedes Billigscript einfach zu überlisten; also verfiel man auf den "Trick" mit der Grafik:

    Es wird einfach eine Grafik generiert, die z.B. ein wirres s/w-Streifenmuster als Hintergrund hat, darauf wird, evtl. etwas dicker, aber auf jeden Fall ebenfalls in s/w, eine Zahl eingesetzt. Die so generierte Grafik wird unter einem neutralen Namen zum Browser geschickt. Da die Zahl von einem Script auf dem Server generiert wurde, weiß der Seitenbetreiber also, welche Zahl dort dargestellt ist. Ein menschlicher Betrachter hat mit solchen Grafiken auch kein Problem; in der Regel wird er (oder auch sie) sofort sehen, welche Zahl dargestellt wird. Ein automatisches Skript hingegen scheitert an dieser Aufgabe - um zu erkennen, welche Zahl dargestellt wird, müßte das aufrufende Skript die Grafik analysieren und versuchen, herauszubekommen, welche Zahl dort steht. Für einen Automatismus viel zu zeitaufwendig.

    Wird jetzt die Zahl eingegeben, braucht der Server nur die verlangte und die eingegebene Zahl vergleichen, stimmen sie überein, ist der Aufrufende als Mensch identifiziert und der Zutritt kann ihm gewährt werden.

    Ich hoffe, das war es, was Du wissen wolltest.

    Vielen Dank schonmal,
    S.

    Gerne, U.