kalle: Simple CAPTCHA-Alternativen

Nabend.
Ich hasse CAPTCHA. Da gibt es ja Varianten, die man ohne Augenschmerzen zu bekommen gar nciht entziffern _kann.

Was soll eigentlich der ganze Aufwand? Tuts nicht ein einfacher z.B. Radiobutton-select:

Diese Nachricht ist
[x] spam
[ ] ernst gemeint

Klar, wenn jetzt Tausende Webseiten genau so verfahren würden, würde irgendwer das wohl auch den spambots beibringen. Aber reicht sowas nicht für Otto-Normalo?

Was gibts noch für Alternativen?

  1. hi,

    Was gibts noch für Alternativen?

    Meine Lösung: Das Submit-Form wird mit einem Key einmalig gemacht, dieser Key ist auch auf dem Server gespeichert. Mit entsprechenden Prüfungen kann dann schonmal ein Formular nur einmal submitted werden, und:

    An den Key kann ein Zeistempel gebunden sein, womit sich ein Zeitfenster realisieren lässt, submit erst nach ein paar Totsekunden und Verfall des Forms nach einer bestimmten Zeit.

    Geht ohne Cookies,
    der Nutzer muss außer dem hiddenField mit dem Key nichts mitbekommen, es ei denn, er strapaziert das Zeitfenster,
    probiers aus,

    Hotti

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  2. Aber reicht sowas nicht für Otto-Normalo?

    Reicht völlig.

    Checkbox:

    "Ich bin ein Mensch" wird automatisch per JavaScript angehakt, wenn nicht muss es der Benutzer halt selbst machen.

    In "Kleinserien" funktioniert das einwandfrei, da sich kaum ein Spammer die Mühe macht nur wegen einem "halben" Formular welches eh ins Nirvana geht und nicht gleich auf einer Seite erscheint seinen Bot anzupassen.

    Was gibts noch für Alternativen?

    Akismet oder vergleichbare plausibilitätsprüfungslogiken eignen sich recht gut - zumindest für Kommentare.

  3. Hallo,

    Was gibts noch für Alternativen?

    Guckst Du hier:
    Captchas sind Blödsinn - Alternativen gegen Spam
    HTH, mfg
    Thomas

  4. Tag,

    Was soll eigentlich der ganze Aufwand? Tuts nicht ein einfacher z.B. Radiobutton-select:

    tut's nicht einfach gar nichts? Der Captcharitis stehe ich etwas ratlos gegenüber, scheint eine Modeangst zu sein. Oder sollte die Tatsache, dass ich seit Jahren überhaupt keinen Müll bekomme, einfach daran liegen, dass ich Kontaktformulare per robots.txt ausschließe? (Es wäre auch nur arbeitssparend für Spammer, anstatt selbst das Web zu durchsuchen, Googles Hilfe in Anspruch zu nehmen.)

  5. Cool, danke für die antworten. Und wie handhabt ihr das mit Email-Adressen? Da gibt's ja auch die kreativsten Lösungen..

    1. Cool, danke für die antworten. Und wie handhabt ihr das mit Email-Adressen? Da gibt's ja auch die kreativsten Lösungen..

      Du meinst, wie E-Mail Adressen auf ihre Echtheit überprüft werden?

      Da gibt es 2 Schritte:
      1. Grundelemente
      Du schaust, ob die Adresse überhaupt eine E-Mail-Adresse sein kann. Dazu gibt es hier auf Selfhtml einen guten Artikel - musst einfach mal suchen. Im Ergebnis läuft es darauf hinaus, dass es eigentlich nicht möglich ist, eine E-Mail-Adresse richtig zu validieren. Also dürfte die Prüfung auf das Vorhandensein eines @-Zeichens ausreichen, wenn man nicht mit einer strengeren Prüfung aus versehen echte Adressen mit ausschließen möchte.

      2. Echtheit der Adresse + Adresse des Users
      Hier hilft dann nur die echte Verwendung der eingegebenen Adresse. Du musst also eine Bestätigungsmail an die Adresse schicken, in der sich ein Link befindet, der zum Fertigstellen der Registrierung etc. angeklickt werden muss.

      Gruß
      Alex

      1. Im Ergebnis läuft es darauf hinaus, dass es eigentlich nicht möglich ist, eine E-Mail-Adresse richtig zu validieren.

        Das ist Unsinn - du kannst eine Adresse sehrwohl auf syntaktische Gültigkeit prüfen. Du kannst aber niemals wissen, ob die Adresse die eingegeben wurde auch tatsächlich existiert oder stimmt.

        Das Problem ist eher, dass es eine schlechte Idee ist, selbst einen Prüfalgorithmus zu schreiben und viele im Internet auffindbare Algorithmen einfach Mist sind.

        Also dürfte die Prüfung auf das Vorhandensein eines @-Zeichens ausreichen, wenn man nicht mit einer strengeren Prüfung aus versehen echte Adressen mit ausschließen möchte.

        Wie wärs mit ordentlich geprüften und getesteten Ausdrücken - die der PHP-Funktion filter_var() z.B.? Die prüfen nicht nur auf das @, sind einfach einzubauen und ziemlich wasserdicht.

        1. Echtheit der Adresse + Adresse des Users
          Hier hilft dann nur die echte Verwendung der eingegebenen Adresse. Du musst also eine Bestätigungsmail an die Adresse schicken, in der sich ein Link befindet, der zum Fertigstellen der Registrierung etc. angeklickt werden muss.

        Das hilft genau garnix - wer seine Adresse nicht hergeben will, greift auf eine Wegwerfadresse zurück oder registriert sich zur Not schnell eine Gmail-Adresse genau für diesen Zweck.

        1. @@suit:

          nuqneH

          Wie wärs mit ordentlich geprüften und getesteten Ausdrücken - die der PHP-Funktion filter_var() z.B.? Die prüfen nicht nur auf das @, sind einfach einzubauen und ziemlich wasserdicht.

          ROTFL.

          filter_var($email, FILTER_VALIDATE_EMAIL) ist genauso untauglich wie <input type="email">.

          Das liefert für $email = 'джон.доу@россия.рф' (eine gültige E-Mail-Adresse!) false. Überrascht mich bei PHP aber auch nicht.

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. Das liefert für $email = 'джон.доу@россия.рф' (eine gültige E-Mail-Adresse!) false.

            IDN-E-Mail-Adressen sind experimentell, das als gültig zu bezeichnen ist imho weit hergeholt.

            Warum sollte man also eine Adresse als gültig erachten, die kaum ein MTA zu behandeln vermag?

        2. Das ist Unsinn - du kannst eine Adresse sehrwohl auf syntaktische Gültigkeit prüfen. Du kannst aber niemals wissen, ob die Adresse die eingegeben wurde auch tatsächlich existiert oder stimmt.

          Das Problem ist eher, dass es eine schlechte Idee ist, selbst einen Prüfalgorithmus zu schreiben und viele im Internet auffindbare Algorithmen einfach Mist sind.

          Danke für deine netten Worte! Wie du an Gunnars Einwand sieht ist es gar nicht so leicht, die Syntax so zu überprüfen, dass 100%ig keine gültige Mail-Adresse als ungültig markiert wird. Deshalb bleibe ich dabei, dass es "eigentlich" nicht möglich ist.

          Es bringt auch nichts viel Zeit und Energie in eine 100% sichere syntaktische Validierung zu stecken, weil das - wie du und ich angedeutet haben - völlig unsinnig ist, weil man genauso gut als User eine nicht existierende Adresse eingeben kann.

          Das hilft genau garnix - wer seine Adresse nicht hergeben will, greift auf eine Wegwerfadresse zurück oder registriert sich zur Not schnell eine Gmail-Adresse genau für diesen Zweck.

          Na dann sag mir doch bitte mal eine bessere Lösung. Ich kann mir nie sicher sein, dass der User immer an der angegebenen Adresse - sei es Post oder E-Mail - erreichbar ist. Aber das ist doch auch ziemlich egal.

          Wenn ich den User schützen will und ihm deshalb vor einer Mail mit einem z.B. gekauften Lizenzkey erstmal eine Mail zur Überprüfung der Adresse schicke, ist es doch das Problem vom User, wenn er dazu eine Wegwerfadresse hernimmt die er nicht anschaut.

          Wenn ich mit dem User wirksam vereinbare, dass für Gestaltungsrechte aus einem Vertrag (Kündigung etc.) auch die angegebene Mail-Adresse genutzt werden kann, ist es das Problem des Users, wenn diese Adresse eine Wegwerfadresse ist und die Kündigung dann nie ankommt. (Je nach Rechtsansicht könnte das einzige Problem darin bestehen, dass er die Kündigung eben nochmal schicken muss, wobei die ursprüngliche Frist dabei weitestgehend wurscht ist.)

          Wenn es um Adressen-Sammeln für Marketing geht, ist es natürlich das Problem des Werbenden, wenn die Mails - wegen Wegwerfadresse z.B. - nicht ankommen. Aber das kann ihm auch egal sein. Denn 1. wird dem User wohl immer ein Werbe-Widerrufsrecht zustehen und 2. könnte der User auch genau den Absender in seinem "echten" Postfach als Spammer markieren, was zur automatischen Löschung der Mails führt. Insgesamt also kein Nachteil für den Betreiber der Website.

          Wenn es um Adressen Verkaufen geht: Da bekommt man soweit ich weiß mehr Geld für eine Adresse, wenn diese in Benutzung ist, also wenn jemand auf einen Link aus der Mail geklickt hat. Ob das eine Einmaladresse war ist da sicherlich auch nicht so leicht herauszufinden und dürfte also kaum Auswirkungen haben.

          Um es also in deine Worte zu fassen: Das ist Unsinn.

          Gruß
          Alex

      2. Und wie handhabt ihr das mit Email-Adressen? Da gibt's ja auch die kreativsten Lösungen..

        Du meinst, wie E-Mail Adressen auf ihre Echtheit überprüft werden?

        Nee, sorry. Ich meinte mit meine eigene email-Adresse z.B. im Impressum. Mir geht es nach wie vor um Spam-Minimierung, aber ich halte nix von Angeben wie

        • mailto:adminnospam@example.com (bitte das "nospam" entfernen")
        • mailto:&#097;&#100;&#109;&#105;&#110;&#064;&#101;&#120;&#097;&#109;&#112;&#108;&#101;&#046;&#099;&#111;&#109;
        • email als Bild ohne Verlinkung
        • ...

        Wie macht ihr das?

        1. Wie macht ihr das?

          Die E-Mail-Adresse im Klartext darstellen und einen Spamfilter am Mailserver verwenden - das eleminiert selbst bei _wirklich großen_ Seiten das Spamaufkommen auf fast 0 und geht keinem deiner Endbenutzer auf den senkel.