markus_walther: Textfeld erst nach einigen Sekunden aktivieren!

Hallo!

Ich möchte ein Textfeld erstellen, was beim Laden der Seite auf readonly ist, und nach Ablauf einer bestimmten Zeit (z.B. 5 Sekunden) beschreibbar ist. Die noch zu wartende Zeit soll im Textfeld stehen. Weiß jemand wie man so etwas hinbekommt?

LG
Markus

  1. Mahlzeit markus_walther,

    Ich möchte ein Textfeld erstellen,

    http://de.selfhtml.org/html/formulare/eingabe.htm#felder

    was beim Laden der Seite auf readonly ist,

    http://de.selfhtml.org/html/referenz/attribute.htm#input

    und nach Ablauf einer bestimmten Zeit (z.B. 5 Sekunden)

    http://de.selfhtml.org/javascript/objekte/window.htm#set_timeout

    beschreibbar ist.

    http://de.selfhtml.org/javascript/objekte/elements.htm#readonly

    Die noch zu wartende Zeit soll im Textfeld stehen.

    http://de.selfhtml.org/javascript/objekte/window.htm#set_interval
    http://de.selfhtml.org/javascript/objekte/elements.htm#value

    Weiß jemand wie man so etwas hinbekommt?

    Ja, SELFHTML ... Dir ist allerdings bewusst, dass Benutzer, die Javascript nicht aktiviert haben (dürfen), niemals in das Textfeld schreiben können? Eine Alternative wäre, das Textfeld erst <http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onload@title=beim Laden der Seite> per Javascript auf "readonly" zu setzen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hi Ekki

      Danke erstmal für die schnelle Hilfe.
      Das Problem dabei ist, dass es eigentlich ein "Schutz" vor Spam sein sollte...
      Da das nicht mehr funktioniert, wenn man JS ausstellt, kann ich diese Variante also vergessen. Captcha will ich meinen Usern nicht zumuten, da dieses Formularfeld relativ oft genutzt wird. Eine andere Möglichkeit gegen Spam die ich mal gehört habe, wäre versteckte Formularfelder zu erstellen, wenn in denen was steht --> Spam. Ich kann mir aber nicht vorstellen, dass das wirklich funktioniert. Die Bots merken doch, ob das Feld unsichtbar ist oder nicht. Hat jemand Tipps bzw. Erfahrungen mit dieser Methode, oder sonstige Spamschutzmaßnahmen parat?
      Danke für jede Hilfe.

      markus

      1. Die Bots merken doch, ob das Feld unsichtbar ist oder nicht.

        Wie sollten die das?
        Wenn du das in einer CSS Datei auslagerst kann das kein Bot erkennen.

        Eine zweite sehr zuverlässige Methode ist es ein verstecktes Feld mit dem Timestamp zu verschicken, auf dem Server kannst du dann prüfen, wie lange es gedauert hat das Formular abzuschicken. Ein Bot braucht dafür eine sehr kurze Zeit ein Mensch länger (je nachdem ob etwas gelesen werden muss)

        Struppi.

        1. Wie sollten die das?

          Indem sie das CSS parsen - das ist nun wirklich nicht schwierig, wenn das Google kann, kann das ein Spammer auch :)

          Wenn du das in einer CSS Datei auslagerst kann das kein Bot erkennen.

          Warum sollte ein Bot nicht eine @import-Regel auswerten können oder ein link-Element auswerten?

          Eine zweite sehr zuverlässige Methode ist es ein verstecktes Feld mit dem Timestamp zu verschicken, auf dem Server kannst du dann prüfen, wie lange es gedauert hat das Formular abzuschicken. Ein Bot braucht dafür eine sehr kurze Zeit ein Mensch länger (je nachdem ob etwas gelesen werden muss)

          Ich brauche dank vorausgefüllter Felder (das macht Opera für mich) für Kommentare in diversen Blogs teilweise nur wenige Sekunden - diese Methode würde ich also nicht empfehlen.

          1. Wie sollten die das?

            Indem sie das CSS parsen - das ist nun wirklich nicht schwierig, wenn das Google kann, kann das ein Spammer auch :)

            Wer sagt, dass das google kann? (übrigens ein Firma mit Miliarden umsätzen, insofern weiß ich nicht inwiefern du die mit einem Spammer vergleichen willst?)

            Wenn du das in einer CSS Datei auslagerst kann das kein Bot erkennen.

            Warum sollte ein Bot nicht eine @import-Regel auswerten können oder ein link-Element auswerten?

            Weil er dann ein Browser wäre? Natürlich könnte das ein Bot tun, aber versuch dir mal den Aufwand vorzustellen um auf jeder Seite, auf der ein Formular sein könnte, jedes CSS Regel so wie sie der Browser umsetzt auszuwerten. Sicher kein triviales unterfangen.

            Eine zweite sehr zuverlässige Methode ist es ein verstecktes Feld mit dem Timestamp zu verschicken, auf dem Server kannst du dann prüfen, wie lange es gedauert hat das Formular abzuschicken. Ein Bot braucht dafür eine sehr kurze Zeit ein Mensch länger (je nachdem ob etwas gelesen werden muss)

            Ich brauche dank vorausgefüllter Felder (das macht Opera für mich) für Kommentare in diversen Blogs teilweise nur wenige Sekunden - diese Methode würde ich also nicht empfehlen.

            Wieso? Bots brauchen in der Regel (wie du ja selber schriebst) gar keine Zeit, also auf jeden Fall weniger als du mit deinen wenigen Sekunden. Und selbst wenn dann musst du dich halt in Geduld üben.

            Struppi.

            1. Wer sagt, dass das google kann? (übrigens ein Firma mit Miliarden umsätzen, insofern weiß ich nicht inwiefern du die mit einem Spammer vergleichen willst?)

              Ein Suchmaschinen-Robot und ein Crawler, der nach Kommentarformularen (oder vergleichbarem) sucht ist sehr ähnlich aufgebaut.

              Weil er dann ein Browser wäre? Natürlich könnte das ein Bot tun, aber versuch dir mal den Aufwand vorzustellen um auf jeder Seite, auf der ein Formular sein könnte, jedes CSS Regel so wie sie der Browser umsetzt auszuwerten. Sicher kein triviales unterfangen.

              Natürlich ist das nicht trivial, aber das ist ein riesiger Geschäftszweig. Es gibt für diesen Zweck sogar fertige Programme für ein paarhundert Dollar zu kaufen - die können sich in verbreiteten Forensystemen oder Blogsystemen registrieren, Captchas lösen, versteckte Felder erkennen, ein bisschen warten, bevor die Posts abgeschickt werden, auf Posts sinnvoll[sic!][1] antworten und gelegentlich ein bisschen Spam platzieren.

              Über mein Forum ist vor etwa 2 Jahren so ein Kandidat drübergerattert - allerdings eine Testversion, die das bei jedem Kommentar notiert hat (mit Link zur Testversion und Kaufangebot). Das hat mich sehr schon sehr schockiert - in der Zwischenzeit haben sich die Dinger sicher weiterentwickelt.

              Wieso? Bots brauchen in der Regel (wie du ja selber schriebst) gar keine Zeit, also auf jeden Fall weniger als du mit deinen wenigen Sekunden.

              Das kommt drauf an, wie schlau der Bot ist und wirklich einfach alles Zuballert oder wirklich ordentlich reagiert.

              Und selbst wenn dann musst du dich halt in Geduld üben.

              Ja, nur mich ärgert das jedes mal wieder. "Du musst 15 Sekunden Warten bevor du das nächste mal Posten kannst" :p

              [1] auf dem Niveau besser Chatbots.

              1. Wer sagt, dass das google kann? (übrigens ein Firma mit Miliarden umsätzen, insofern weiß ich nicht inwiefern du die mit einem Spammer vergleichen willst?)

                Ein Suchmaschinen-Robot und ein Crawler, der nach Kommentarformularen (oder vergleichbarem) sucht ist sehr ähnlich aufgebaut.

                Woher hast du diese Information? Ein Bot, der nach einer möglichen Aktion auf einer Webseite sucht, beruht zwar auf dem gleichen Prinzip, denn interessiert aber CSS nicht

                Weil er dann ein Browser wäre? Natürlich könnte das ein Bot tun, aber versuch dir mal den Aufwand vorzustellen um auf jeder Seite, auf der ein Formular sein könnte, jedes CSS Regel so wie sie der Browser umsetzt auszuwerten. Sicher kein triviales unterfangen.

                Natürlich ist das nicht trivial, aber das ist ein riesiger Geschäftszweig. Es gibt für diesen Zweck sogar fertige Programme für ein paarhundert Dollar zu kaufen - die können sich in verbreiteten Forensystemen oder Blogsystemen registrieren, Captchas lösen, versteckte Felder erkennen, ein bisschen warten, bevor die Posts abgeschickt werden, auf Posts sinnvoll[sic!][1] antworten und gelegentlich ein bisschen Spam platzieren.

                Das sind sehr spezielle Funktionen - Captchas lösen kann u.U. einfacher sein, als rauszufinden welche CSS Regel du auf ein Element anwenden musst.

                Aber ich bestreite gar nicht dass es Bots gibt, die alles mögliche versuchen. Ich hab aber mit dieser Maßnahme meinen Spam um 90% senken können, mit dem Timer noch mal. Pro Jahr kommen ca.2-3 Spams durch (ich hab jetzt keine Zahlen von wievielen, es dürften aber einige tausend sein, die Spam Log Dateien sind ca. 30MB gross). Das dürften bei Akismet nicht weniger sein. Es funktioniert also.

                Wieso? Bots brauchen in der Regel (wie du ja selber schriebst) gar keine Zeit, also auf jeden Fall weniger als du mit deinen wenigen Sekunden.

                Das kommt drauf an, wie schlau der Bot ist und wirklich einfach alles Zuballert oder wirklich ordentlich reagiert.

                Woher soll er Wisssen was ordenlich ist? Es ist ein Bot, darüber hinaus mag es technisch möglich sein 5 oder 10 Sekunden zu warten - nur welchen Nutzen macht das noch? Bei solchen Bots kommt es auf die Masse an, wenn du aber pro Minute nur 6 Nachrichten raushauen kannst dürfte er wertlos sein.

                Und selbst wenn dann musst du dich halt in Geduld üben.

                Ja, nur mich ärgert das jedes mal wieder. "Du musst 15 Sekunden Warten bevor du das nächste mal Posten kannst" :p

                Wie gesagt, Bot = 0 sekunden, du = ca 5 sekunden, wenn du schneller bist, wirst du die 5 Sekunden warten müssen, aber ich bezweifle dass das oft in einem Forum vorkommt.

                Struppi.

                1. Hallo,

                  Ein Bot, der nach einer möglichen Aktion auf einer Webseite sucht, beruht zwar auf dem gleichen Prinzip, denn interessiert aber CSS nicht

                  einen Suchmaschinen-Bot aber eigentlich auch nicht.
                  Der interessiert sich dafür, was im HTML (notfalls auch PDF o.ä.) an Information zu finden ist, nicht dafür, wie diese Infomation formatiert und aufbereitet ist.

                  Woher soll er Wisssen was ordenlich ist? Es ist ein Bot, darüber hinaus mag es technisch möglich sein 5 oder 10 Sekunden zu warten - nur welchen Nutzen macht das noch? Bei solchen Bots kommt es auf die Masse an, wenn du aber pro Minute nur 6 Nachrichten raushauen kannst dürfte er wertlos sein.

                  Kommt drauf an. Wenn er in der Minute zeitversetzte Requests auf mehrere hundert verschiedene Server absetzt, kann er ruhig aus der Sicht *eines* Opfers 10 oder 20 Sekunden mit der Antwort warten. Die Effizienz wäre dennoch gegeben.

                  So long,
                   artin

                  --
                  Computer funktionieren grundsätzlich nicht richtig.
                  Wenn doch, hast du etwas falsch gemacht.
                  1. Ein Bot, der nach einer möglichen Aktion auf einer Webseite sucht, beruht zwar auf dem gleichen Prinzip, denn interessiert aber CSS nicht

                    einen Suchmaschinen-Bot aber eigentlich auch nicht.
                    Der interessiert sich dafür, was im HTML (notfalls auch PDF o.ä.) an Information zu finden ist, nicht dafür, wie diese Infomation formatiert und aufbereitet ist.

                    Da bist du falsch informiert.

                    Woher soll er Wisssen was ordenlich ist? Es ist ein Bot, darüber hinaus mag es technisch möglich sein 5 oder 10 Sekunden zu warten - nur welchen Nutzen macht das noch? Bei solchen Bots kommt es auf die Masse an, wenn du aber pro Minute nur 6 Nachrichten raushauen kannst dürfte er wertlos sein.

                    Kommt drauf an. Wenn er in der Minute zeitversetzte Requests auf mehrere hundert verschiedene Server absetzt, kann er ruhig aus der Sicht *eines* Opfers 10 oder 20 Sekunden mit der Antwort warten. Die Effizienz wäre dennoch gegeben.

                    Zudem: du glaubst doch nicht ernsthaft, jemand würde von nur einem Rechner spammen? Für sowas hat man ein Botnetz und interessiert sich für solche Details nicht.

                    1. Hallo suit!

                      Da bist du falsch informiert.

                      Der Text sagt nur, wie Google reagiert, wenn er/sie/es Kenntnis von den beschriebenen Praktiken hat. Der Text sagt nicht, wie Googel Kenntnis von diesen Praktiken bekommt, schon gar nicht, ob der Crawler sich die Kenntnis verschafft.

                      Vielmehr ist hier Google m.E. auf Reports menschlicher Leser angewiesen.

                      Viele Grüße aus Frankfurt/Main,
                      Patrick

                      --
                      _ - jenseits vom delirium - _

                         Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
                      Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
                      1. Vielmehr ist hier Google m.E. auf Reports menschlicher Leser angewiesen.

                        Dafür würde ich meine Hand nicht ins Feuer legen.

            2. Hallo Struppi!

              Indem sie das CSS parsen - das ist nun wirklich nicht schwierig, wenn das Google kann, kann das ein Spammer auch :)
              Wer sagt, dass das google kann?

              2007 konnten die das allen Anschein nach noch nicht. Ich glaube auch nicht, dass sich seitdem viel geändert hat.

              Viele Grüße aus Frankfurt/Main,
              Patrick

              --
              _ - jenseits vom delirium - _

                 Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
              Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
      2. Das Problem dabei ist, dass es eigentlich ein "Schutz" vor Spam sein sollte...

        Dieser Schutz ist wirkungslos, ein halbwegs vernünftiger Spambot füllt keine Formulare aus - er postet idR. direkt.

        Hat jemand Tipps bzw. Erfahrungen mit dieser Methode,

        unnütz gegen Chinaspammer die manuel spammen.

        oder sonstige Spamschutzmaßnahmen parat?

        http://akismet.com/

        Fazit nach 1 Jahr intensiver Nutzung: funktioniert perfekt.

        1. Das Problem dabei ist, dass es eigentlich ein "Schutz" vor Spam sein sollte...

          Dieser Schutz ist wirkungslos, ein halbwegs vernünftiger Spambot füllt keine Formulare aus - er postet idR. direkt.

          Das nützt ihm aber erstmal wenig, wenn er nicht weiß wie die Felder heißen, die er ausfüllen muss. Insofern ist dieser Schutz durchaus wirkungsvoll, vor allem wenn das Feld z.b. text heißt.

          Hat jemand Tipps bzw. Erfahrungen mit dieser Methode,

          unnütz gegen Chinaspammer die manuel spammen.

          Gegen Manuelle Dateneingabe hilft es nicht, das stimmt. Da hilft aber sowieso nur wenig.

          Struppi.

          1. Das nützt ihm aber erstmal wenig, wenn er nicht weiß wie die Felder heißen, die er ausfüllen muss. Insofern ist dieser Schutz durchaus wirkungsvoll, vor allem wenn das Feld z.b. text heißt.

            Das ist wohl einer der wenigen Einsatzgebiete für security through obscurity - wenn man seine Felder exotisch benennt und sich von der Masse abhebt, kommt kein Spammer durch, weil es sich nicht auszahlt. Ich bin Jahrelang gut mit einem Klartext-Captcha (keine Grafik) gefahren, dessen Wert einfach per POST simpel verschleiert (nichtmalt verschlüsselt) mitübergeben wurde.

            Wenn man ein verbreitetes System wie Wordpress einsetzt, sind die Feldnamen bekannt - da kommt der Bot idR. nur daher, liest die Sitemap ein und spammt dann auf /wp-comments-post.php mit den aus der Sitemap geholten Seitenids in sämtliche Posts Kommentare rein. Da hilft nur ein wirklich intelligenter Filter.

            Gegen Manuelle Dateneingabe hilft es nicht, das stimmt. Da hilft aber sowieso nur wenig.

            Akismet hilft.

            1. Akismet hilft.

              Jedoch speziell für Wordpress Blogs, oder darf man die Technik auch anderweitig verwenden?

              1. Akismet hilft.
                Jedoch speziell für Wordpress Blogs, oder darf man die Technik auch anderweitig verwenden?

                Man kann Akismet überall verwenden (Other Application Plugins) - sinnvollerweise gehts aber nur für Kommentarsysteme, Formailer mit Freitextfeld oder ähnliches da akismet in erster Linie den Text bewertet.

                1. Man kann Akismet überall verwenden (Other Application Plugins) - sinnvollerweise gehts aber nur für Kommentarsysteme, Formailer mit Freitextfeld oder ähnliches da akismet in erster Linie den Text bewertet.

                  Ein Kunde hat eine Webseite, welche aus einer Bestellung automatisch eine Rechnung generiert. Auf dieser Bestellseite befindet sich unter anderem auch ein Kommentarfeld welches regelm. mit Unsinn und Links gefüllt wird.

                  Derzeit habe ich ein Captcha zum rechnen, verschlüsselte Feldnamen (jeder Request ein anderer Schlüssel), Timestamp, und Honypot im Einsatz. Es sind auch schon deutlich weniger geworden, aber alle paar Wochen muss ich eine Rechnungsnummer freigeben.
                  Das Nervt

                2. Tach,

                  Man kann Akismet überall verwenden (Other Application Plugins) - sinnvollerweise gehts aber nur für Kommentarsysteme, Formailer mit Freitextfeld oder ähnliches da akismet in erster Linie den Text bewertet.

                  man sollte dabei allerdings bedenken, dass man den Inhalt an Akismet übergibt; bei einem Kommentar für ein Blog, der eh öffentlich erscheinen sollte, kein Problem. Bei einem Formmailer würde ich als Kunde nicht erwarten, dass ein Dritter meinen Text liest.

                  mfg
                  Woodfighter

      3. Mahlzeit markus_walther,

        Danke erstmal für die schnelle Hilfe.
        Das Problem dabei ist, dass es eigentlich ein "Schutz" vor Spam sein sollte...

        Diese Art "Schutz" kannst Du vergessen. Eigentlich sogar grundsätzlich: Zitat 1273

        Da das nicht mehr funktioniert, wenn man JS ausstellt, kann ich diese Variante also vergessen.

        Richtig. Die wenigstens Robots werden Javascript-Code ausführen.

        Eine andere Möglichkeit gegen Spam die ich mal gehört habe, wäre versteckte Formularfelder zu erstellen, wenn in denen was steht --> Spam.

        Du meinst etwas wie

        <label class="krzfrzl">Bitte nicht ausfüllen: <input type="text" name="krzfrzl_foo"></label>

        wobei dann mittels Technologien, die von Spam-Bots höchstwahrscheinlich nicht oder nicht vollständig genutzt werden (also z.B. Javascript und CSS), dieses Feld samt Label unsichtbar gemacht wird?

        Ich kann mir aber nicht vorstellen, dass das wirklich funktioniert.

        Warum nicht? Probier's doch einfach mal aus ...

        Die Bots merken doch, ob das Feld unsichtbar ist oder nicht.

        Ja? Wie sollten sie, wenn Du die Information, dass dieses Feld nicht angezeigt werden soll, erst mittels Javascript an den Browser weitergibst?

        * Finde alle Elemente, die die Klasse "krzfrzl" haben.
        * Stelle diese Elemente nicht dar.

        Server-seitig musst Du dann natürlich noch alle Felder, die auf diese Weise "unsichtbar" gemacht werden, auswerten - wenn dort doch irgendwas eingegeben wurde, verwirfst Du die Eingaben und gibst einen entsprechenden Hinweis ("Sie sind wahrscheinlich ein SPAM-Roboter!") aus.

        So als Grobkonzept ...

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|