Marcel: Kontaktformular

Hallo zusammen!
Ich habe mein Kontaktformular mit einem Captcha ausgerüstet. Es funktioniert aber nicht so, wie ich es gern hätte. Mein Problem: Ich würde gerne die Fehler anzeige („Sie haben den Sicherheitscode falsch eingeben“) in die Fehler anzeige des Kontaktformulars einbinden („Bitte füllen Sie alle markierten Felder aus“).

Hier der Quellcode vom Formular (contact.php):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<div align="center" class="site-title">
  <p>Contact</p>
</div>
<table width="500" border="0" align="center">
  <tr>
    <td><span class="content">Um Spam und Missbrauch zu verhindern, wird Ihre IP <strong><?php echo $_SERVER['REMOTE_ADDR']; ?></strong> gespeichert. Um das Formular abschicken zu k&ouml;nnen, muss der richtige Sicherheitscode (Spam-Schutz) in das nebenstehende Feld eingeben werden.</span></td>
  </tr>
</table>
<br>
<table width="500" border="0" align="center" cellpadding="1" cellspacing="2">
  <form action="index.php?show=contact-send" method="post">
    <tr class="content">
      <td width="160" valign="middle"><div align="right">*Name:</div></td>
      <td width="229"><input name="Name" type="text" class="felder" size="30" maxlength="10">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right">*Vorname:</div></td>
      <td><input name="Vorname" type="text" class="felder" id="Vorname" size="30" maxlength="10">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right">PLZ / Ort: </div></td>
      <td><input name="PLZ" type="text" class="felder" id="PLZ3" size="8" maxlength="10">
          <input name="Ort" type="text" class="felder" id="Ort3" size="20" maxlength="20">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right"> Land: </div></td>
      <td><input name="Land" type="text" class="felder" id="Land3" size="30" maxlength="20">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right"> Tel.:</div></td>
      <td><input name="Telefon" type="text" class="felder" id="Telefon5" size="30" maxlength="30">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right">*E-Mail:</div></td>
      <td><input name="E-Mail" type="text" class="felder" id="E-Mail3" size="30" maxlength="30">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right">MSN:</div></td>
      <td><input name="MSN" type="text" class="felder" id="MSN3" size="30" maxlength="30">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right"> Website:</div></td>
      <td><input name="Website" type="text" class="felder" id="Website3" size="30" maxlength="30">
      </td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right">Betreff:</div></td>
      <td><select name="Betreff" size="1" class="felder">
          <option selected>Frage</option>
          <option>Kritik</option>
          <option>Webdesign</option>
          <option>Anderes</option>
      </select></td>
    </tr>
    <tr class="content">
      <td valign="middle"><div align="right">*Nachricht:</div></td>
      <td><textarea name="Nachricht" cols="40" rows="8" class="felder"></textarea></td>
    </tr>
    <tr valign="middle" class="content">
      <td valign="middle"><div align="right">W&uuml;nsche Antwort?</div></td>
      <td>Ja
          <input name="Antwort" type="radio" class="felder" value="ja" checked>
        Nein
        <input name="Antwort" type="radio" class="felder" value="nein">
      </td>
    </tr>
    <tr class="content">
      <td valign="top"><div align="right"><img src="createimage.php" width="60" height="25"></div></td>
      <td><input name="sessionkey" type="text" class="felder" id="sessionkey" value="" size="30" maxlength="6"></td>
    </tr>
    <tr class="content">
      <td align="center" colspan="2"><input name="Send" type="submit" class="felder" value="Abschicken">
          <input name="Reset" type="reset" class="felder" value="L&ouml;schen">
          <br>
        * = Pflichtfelder</td>
    </tr>
  </form>
</table>

</body>
</html>

========== Code-Ende ==========
An diesen Code sendet das Formular die eingaben (contact-send.php):
<?php

$Empfaenger = "meinemailadresse@m-widmer.com";
$IP = $_SERVER['REMOTE_ADDR'];

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['E-Mail']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Vorname']) || empty($_REQUEST['sessionkey']))
   {
      echo"Bitte gehen Sie <a href="index.php?show=contact">zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus!";
  }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht von $IP erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
 $Mailnachricht .= "\nDatum und Zeit: ";
 $Mailnachricht .= date("d.m.Y H:i:s");
 $Mailnachricht .= "\nIP: ";
 $Mailnachricht .= $_SERVER['REMOTE_ADDR'];
 $Mailbetreff = "Kontakt: ";
 $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['E-Mail']);
      echo"Besten Dank f&uuml;r Ihre E-Mail. Ich werde so schnell wie m&ouml;glich, mit Ihnen Kontakt aufnehmen.";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="index.php?show=contact">Seite zurück.</a>.";
}

?>
========== Code-Ende ==========

Fehlercode vom Captcha:
<?php
$sessionkey=$_POST["sessionkey"]; //übertragenen sessionkey speichern

if($sessionkey!=$_SESSION["imgkey"])
      {
      echo("alert("Geben Sie bitte eine gültige Telefonnummer ein!")");
      }
?>
========== Code-Ende ==========

Es wäre auch möglich dass vor dem absenden ein alert-Fenster kommt, dass der Sicherheitscode falsch ist.
Besten Dank für Eure mithilfe!

Gruss aus der Schweiz
Marcel

  1. hi,

    Es funktioniert aber nicht so, wie ich es gern hätte.
    Mein Problem: Ich würde gerne die Fehler anzeige („Sie haben den Sicherheitscode falsch eingeben“) in die Fehler anzeige des Kontaktformulars einbinden („Bitte füllen Sie alle markierten Felder aus“).

    Nein, das ist dein Wunsch.
    Wo dein Problem bei der Umsetzung diesens liegt, hast du leider versäumt uns mitzuteilen.

    Tipps für Fragende

    Es wäre auch möglich dass vor dem absenden ein alert-Fenster kommt, dass der Sicherheitscode falsch ist.

    Nein, das wäre nicht möglich - denn zum clientseitigen Überprüfen müsstest du den Code aus dem Bildchen ebenfalls an den Client übermitteln [1], und dann könntest du dir das ganze gleich in die Haare schmieren.

    [1] Es sei denn, man würde AJAX dafür nutzen. Das hielte ich hier aber für eine Kanonen-Spatzen-Geschichte.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Frage:
      Wo kommt die Fehlermeldung vom Captcha in der contact-send.php hin?

      1. hi,

        Frage:
        Wo kommt die Fehlermeldung vom Captcha in der contact-send.php hin?

        Die Überprüfung des Codes kommt in den Datenverarbeitungsteil (EVA) - und die Ausgabe an die Stelle, an der du sie nachher in der Seite sehen möchtest.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. Hi wahsaga!

      [...] Kanonen-Spatzen-Geschichte.

      Lieber ´nen Spatz in der Hand, als ´n Kanone auf dem Dach? ;-)

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. Hallo,

        Lieber ´nen Spatz in der Hand, als ´n Kanone auf dem Dach? ;-)

        ach so heißt das?
        Ich dachte, lieber 'ne Stumme im Bett, als 'ne Taube auf dem Dach ...

        *scnr*
         Martin

        --
        Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
        1. Hallo Martin,

          Ich dachte, lieber 'ne Stumme im Bett, als 'ne Taube auf dem Dach ...

          Nee! Lieber 'ne Runde im Lokal als 'ne Dünne im Bett.

          Feierabend!

          Mit freundlichen Grüßen,
          André

      2. Hi,

        [...] Kanonen-Spatzen-Geschichte.
        Lieber ´nen Spatz in der Hand, als ´n Kanone auf dem Dach? ;-)

        Nein: Spatzen sollen nicht auf Kanonen scheißen.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hi,

    Ich habe mein Kontaktformular mit einem Captcha ausgerüstet.

    warum eigentlich?

    Sicher, Captchas sind derzeit sehr in Mode, aber sie sind für die User äußerst lästig und stellen für einige auch eine nicht zu überwindende Barriere dar - insbesondere die Captchas der "zweiten Generation", die (aufbauend auf dem Aberglauben, dass einige Bots schon mit Texterkennung ausgerüstet wären) schon für normale User kaum eindeutig identifizierbare Zeichen generieren.

    Aber es gibt doch derzeit weniger behindernde Möglichkeiten. Angefangen von über CSS ausgeblendeten input-Fallen (für Bots attraktive Eingabefelder, die nicht ausgefüllt werden dürfen) bis hin zu einer zweiten (Vorschau-)Seite, über die der Eintrag erst verschickt wird.

    freundliche Grüße
    Ingo

    1. Hi!

      Aber es gibt doch derzeit weniger behindernde Möglichkeiten. Angefangen von über CSS ausgeblendeten input-Fallen (für Bots attraktive Eingabefelder, die nicht ausgefüllt werden dürfen) bis hin zu einer zweiten (Vorschau-)Seite, über die der Eintrag erst verschickt wird.

      Hat eigentlich schon jemand Erfahrungen damit gemacht, ob die Bots auch dann auf Felder reinfallen, die leer gelassen werden müssen, wenn diese vom type hidden sind (type="hidden")?
      Oder muss man das schon mit CSS machen und für Textbrowser davor schreiben, dass man das Feld leer lassen sollte?

      Freundliche Grüße und Dankeschön aus Nürnberg,
      Tobias

      1. Hallo Tobias.

        Hat eigentlich schon jemand Erfahrungen damit gemacht, ob die Bots auch dann auf Felder reinfallen, die leer gelassen werden müssen, wenn diese vom type hidden sind (type="hidden")?

        Solche input-Elemente kann normalerweise kein Mensch ausfüllen, es wäre also merkwürdig, dies von Spambots zu erwarten.

        Oder muss man das schon mit CSS machen und für Textbrowser davor schreiben, dass man das Feld leer lassen sollte?

        Dies ist die empfohlene Methode, ja.

        Doch damit habe ich bisher keine guten Erfahrungen gemacht. Trotz leerzulassendem Eingabefeld und einer identifizierenden Checkbox wurde in einem meiner Projekte massiv gespammt.

        Deshalb rate ich auch immer zum Einbau einer Vorschaufunktion.
        Gegen die manuelle Freigabe der Einträge seitens des Sitebesitzers hat natürlich kein Spambot der Welt eine Chance und wird auch nie. (Außer er hat Zugriff auf den FTP-Account, aber in einem solchen Fall ist Spam wohl noch das geringste Übel.)

        Einen schönen Freitag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Hi,

          Hat eigentlich schon jemand Erfahrungen damit gemacht, ob die Bots auch dann auf Felder reinfallen, die leer gelassen werden müssen, wenn diese vom type hidden sind (type="hidden")?

          Solche input-Elemente kann normalerweise kein Mensch ausfüllen, es wäre also merkwürdig, dies von Spambots zu erwarten.

          Und tatsächlich lassen sie solche Felder unberührt.

          Doch damit habe ich bisher keine guten Erfahrungen gemacht. Trotz leerzulassendem Eingabefeld und einer identifizierenden Checkbox wurde in einem meiner Projekte massiv gespammt.

          Vielleicht war das Eingabefeld einfach kein guter Köder?
          Es ist wohl nicht unwichtig, wie die Felder benannt werden und an welcher Stelle ein solcher Köder ausgelegt wird. Ich habe kürzlich gelesen, dass Bots häufiger Felder am Anfang oder Ende eines Formulares meiden.

          freundliche Grüße
          Ingo

          1. Hallo Ingo.

            Doch damit habe ich bisher keine guten Erfahrungen gemacht. Trotz leerzulassendem Eingabefeld und einer identifizierenden Checkbox wurde in einem meiner Projekte massiv gespammt.

            Vielleicht war das Eingabefeld einfach kein guter Köder?

            Oder ich habe es einfach zu offensichtlich gemacht.
            Ich wollte hier vor kurzem schon mein neu geschriebenes Gästebuch zum Einsatz bringen, was aber an den Unterschieden zwischen PHP5 und PHP4 scheiterte.

            Es ist wohl nicht unwichtig, wie die Felder benannt werden und an welcher Stelle ein solcher Köder ausgelegt wird. Ich habe kürzlich gelesen, dass Bots häufiger Felder am Anfang oder Ende eines Formulares meiden.

            Schon wieder eine Wissenschaft für sich …

            Einen schönen Freitag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
            1. Hi,

              Vielleicht war das Eingabefeld einfach kein guter Köder?

              Oder ich habe es einfach zu offensichtlich gemacht.

              Ja. Vor allem, weil Du hier auch ungültiges HTML geschrieben hast.

              freundliche Grüße
              Ingo

              1. Hallo Ingo.

                Vielleicht war das Eingabefeld einfach kein guter Köder?

                Oder ich habe es einfach zu offensichtlich gemacht.
                Ja. Vor allem, weil Du hier auch ungültiges HTML geschrieben hast.

                Tatsächlich, da muss ich geschlafen haben. Die Fehler sind nun korrigiert, danke.

                Einen schönen Samstag noch.

                Gruß, Ashura

                --
                sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
                [HTML Design Constraints: Logical Markup]
          2. Hi!

            Es ist wohl nicht unwichtig, wie die Felder benannt werden [...]

            Kann man wohl so sagen - ich habe bei einem Projekt mal das Spamaufkommen von ca. 25 an einem Tag auf 0 pro Tag gesenkt, indem ich das Feld NAME durch irgend eine ewig lange Kombination (NAMEDESEINTRAGENDEN oder so etwas) ersetzt habe... (war natürlich ein Pflichtfeld :-) )

            Freundliche Grüße aus Nürnberg,
            Tobias

            1. Hi Tobias,

              Kann man wohl so sagen - ich habe bei einem Projekt mal das Spamaufkommen von ca. 25 an einem Tag auf 0 pro Tag gesenkt, indem ich das Feld NAME durch irgend eine ewig lange Kombination (NAMEDESEINTRAGENDEN oder so etwas) ersetzt habe... (war natürlich ein Pflichtfeld :-) )

              Ein Feld das nicht ausgefüllt werden darf "email" zu nennen dürfte sicherlich auch efolgreich sein ;-)

              MfG, Dennis.

              --
              Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
              Patch zur Verwendung von PATHINFO in JLog
              Immer wenn man etwas anders macht, wird man wieder Leute gegen sich haben. (Jürgen Kliensmann)
              1. hi,

                Ein Feld das nicht ausgefüllt werden darf "email" zu nennen dürfte sicherlich auch efolgreich sein ;-)

                Und das Emailfeld nennen wir dann "xyz" ...

                Damit geht aber jede Aussagekraft der Feldbenennungen - und ich die würde ich für einen Teil der Semantik halten - verloren.

                Wenn wir das schon machen, "nur" im den Spammern ein Schnippchen zu schlagen - dann wäre auch das in meinen Augen schon eine Kapitulation.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Hi!

                  Damit geht aber jede Aussagekraft der Feldbenennungen - und ich die würde ich für einen Teil der Semantik halten - verloren.

                  Wenn wir das schon machen, "nur" im den Spammern ein Schnippchen zu schlagen - dann wäre auch das in meinen Augen schon eine Kapitulation.

                  Damit hast du natürlich völlig Recht - trotzdem möchte ich dir widersprechen :-) .
                  Denn: Man muss hier zwischen verschiedenen Übeln das kleinste auswählen und ich finde, dass dies erheblich besser ist als so manche Lösung, die man hier und da sieht.
                  Sprich: Eine verpflichtende Vorschau halte ich nur für bedingt gut, da manche User vielleicht bevorzugen, den gerade geschriebenen Text "im Original" gleich noch mal durchzulesen statt zwei mal zu warten, bis nach mehreren Sekunden mal eine neue Seite erscheint (soll ja mitunter vorkommen).
                  Manuelle Freischaltung artet bei 30 Spameinträgen pro Tag in Arbeit aus, das Captchas nicht so ganz toll sind wurde ja ausreichend diskutiert und so geht das weiter.
                  Ehrlich gesagt halte ich die diskutierte Lösung also für vergleichsweise gut - der Code bleibt valide (wenn er auch in gewissem Maße "schlechter" wird), der User bekomt von dem ganzen in aller Regel (sprich wenn CSS richtig verarbeitet wird) nichts mit, der Aufwand hällt sich sehr in Grenzen.

                  Ich halte es also für das kleinere Übel.

                  Freundliche Grüße aus Nürnberg,
                  Tobias

                  PS.: Wenn mir jetzt jemand widersprechen will: Viel Spaß.
                  Wenn ich ihm darauf nicht wieder widerspreche heißt das nicht unbedingt, dass ich ihm zustimme sondern lediglich, dass ich ab morgen eine  Woche ohne Internet überleben muss (bin in Rumänien auf dem Land - da wäre es ziemlicher Aufwand, ins Internet zu kommen).

                  1. Hallo.

                    Manuelle Freischaltung artet bei 30 Spameinträgen pro Tag in Arbeit aus

                    Wem das zuviel ist, sollte ohnehin kein Gästebuch auslegen.
                    MfG, at

        2. hi,

          Deshalb rate ich auch immer zum Einbau einer Vorschaufunktion.

          Hilft aber überhaupt nur dann, wenn man das mit einer Session o.ä. verbindet, in der hinterlegt wird, dass zunächst die Vorschau-Funktion auch benutzt wurde.

          In meinem Blog muss der menschliche Eintrager auch zuerst die Vorschau-Funktion nutzen - vorher biete ich ihm keinen "Speichern"-Button an. Meine Intention dahinter war aber eher, dass die Leute sich ihr Getippsel vor dem Speichern nochmal ansehen sollen - damit sie mir nicht zu viele Rechtschreibfehler machen :-)

          Spam erhalte ich trotzdem seit einigen Wochen - immer zu ein und dem selben Eintrag, und in schöner regelmässigkeit, so ca. alle sechs Stunden einen oder zwei neue Einträge.
          Klar, weil ohne Session-Eintrag ist der Vorschau-Zwang witzlos - da schaut sich der Spammer einmal an, wie mein Submitbutton heißt und welchen Wert er hat - und liefert diese Daten dann gleich beim ersten Request mit.

          Gegen die manuelle Freigabe der Einträge seitens des Sitebesitzers hat natürlich kein Spambot der Welt eine Chance und wird auch nie.

          Interessiert die Schweinehunde einen feuchten Dreck - Freischalten hatte ich schon ausnahmslos für alle Kommentare implementiert, bevor das losging - es ist also kein einziger dieser Spamversuche jemals auf meiner Seite angezeigt worden.
          Erfolgskontrolle scheinen die Spammer also keine durchzuführen - dazu ist spammen zu "billig".

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hi,

            Klar, weil ohne Session-Eintrag ist der Vorschau-Zwang witzlos - da schaut sich der Spammer einmal an, wie mein Submitbutton heißt und welchen Wert er hat - und liefert diese Daten dann gleich beim ersten Request mit.

            Da hast Du es aber wohl mit einem manuellen Spammer zu tun und nicht mit einem Bot.
            Übrigens bin ich über Deinen letzten Link auf diese Methode gestoßen, die weder eine Session, noch eine Vorschau benötigt.

            freundliche Grüße
            Ingo

            1. hi,

              Klar, weil ohne Session-Eintrag ist der Vorschau-Zwang witzlos - da schaut sich der Spammer einmal an, wie mein Submitbutton heißt und welchen Wert er hat - und liefert diese Daten dann gleich beim ersten Request mit.
              Da hast Du es aber wohl mit einem manuellen Spammer zu tun

              Nein, glaube ich nicht.
              Die Funktionsweise einmal zu analysieren, mag manuellen Aufwand erfordert haben - aber danach ist nur noch ein simpler POST-Request nötig, mit dem man jede noch so dumme Maschine beauftragen kann.

              und nicht mit einem Bot.

              Doch, die Regelmäßigkeit spricht dafür.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Hi,

                Da hast Du es aber wohl mit einem manuellen Spammer zu tun

                Nein, glaube ich nicht.
                Die Funktionsweise einmal zu analysieren, mag manuellen Aufwand erfordert haben

                und genau das meinte ich damit - im Gegensatz zu den Bots, die das Netz selbständig nach Formularen durchkämmen und diese analysieren.

                freundliche Grüße
                Ingo

                1. hi,

                  Die Funktionsweise einmal zu analysieren, mag manuellen Aufwand erfordert haben
                  und genau das meinte ich damit - im Gegensatz zu den Bots, die das Netz selbständig nach Formularen durchkämmen und diese analysieren.

                  Gut, dann haben wir aneinander vorbeigeredet.

                  Aber diese Aktivitäten sind ja auch eher Schüsse ins Blaue [1] - ich denke schon, dass sich Spammer heute vermehrt die Mühe machen, ihre Bots nach kurzer manueller Analyse auf die jeweiligen Gegebenheiten abzustimmen.

                  gruß,
                  wahsaga

                  [1] Gut, dass sind sie in meinem Fall ja auch, weil kein einziger Versuch Erfolg hatte, da ich alle Kommentare erst freischalten muss - aber wie gesagt, dass kümmert die Typen einen feuchten Furz.

                  --
                  /voodoo.css:
                  #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. hi,

      Ich habe mein Kontaktformular mit einem Captcha ausgerüstet.
      warum eigentlich?

      Damit pr0n-Surfer was zu tun haben :-)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hi,

        Damit pr0n-Surfer was zu tun haben :-)

        Aber die beschriebene Methode kann man recht leicht aushebeln, indem man verhindert, das Bilder auf fremden Server angezeigt werden. Und dafür gibt es ja mehrere Möglichkeiten ;)

        1. hi,

          Aber die beschriebene Methode kann man recht leicht aushebeln, indem man verhindert, das Bilder auf fremden Server angezeigt werden. Und dafür gibt es ja mehrere Möglichkeiten ;)

          Nö, denke ich nicht.

          Direktverlinkung auf fremden Seiten kannst du vielleicht unterbinden - aber so eine kleine Grafik kopiere ich mir als Spammer auch gerne, wenn's mich zum erwünschten Erfolg führt.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hi,

            aber so eine kleine Grafik kopiere ich mir als Spammer auch gerne, wenn's mich zum erwünschten Erfolg führt.

            Wenn diese Grafik zufällig und dynamisch erzeugt wird, bringt das dem Spammer gar nix. Man muss ja nur der Grafik eine begrenzte Lebensdauer geben.

            Aber da ich diese Art von Spamschutz sowieso ablehne (Gründe wurden ja schon reichlich hier im Forum genannt. Vielen schliesse ich mich an), hab ich mir noch nicht viele Gedanken über ein sicheres Captcha gemacht.

            1. hi,

              aber so eine kleine Grafik kopiere ich mir als Spammer auch gerne, wenn's mich zum erwünschten Erfolg führt.

              Wenn diese Grafik zufällig und dynamisch erzeugt wird, bringt das dem Spammer gar nix. Man muss ja nur der Grafik eine begrenzte Lebensdauer geben.

              Der Bot ruft deine Formularseite auf, du startest eine Session, und generierst ein Captcha-Bildchen.
              Dieses Captcha-Bildchen kann sich der Bot wie jeder anderen Client auch herunterladen, lokal abspeichern und woanders wieder einbinden.
              Und wenn er dann zeitnah genug einen menschlichen Nutzer zum Abtippen des Codes bringen kann, dürfte er auch noch vor Ablauf deiner Session genug Zeit haben, diese wieder aufzunehmen, und ein ausgefülltes Formular inkl. dem Sicherheitscode posten können ...

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
    3. Also, ich bin ein Admin im deutschen FirefoxWiki und bei uns ist ein Captcha beim Registrieren eigentlich ziemlich wichtig, da massenweise Spambots unterwegs sind, die auf die eingesetzte mediawiki-Software zugeschnitten sind, sich automatisch registrieren und dann alles zuspammen.

      Sicher, Captchas sind derzeit sehr in Mode, aber sie sind für die User äußerst lästig und stellen für einige auch eine nicht zu überwindende Barriere dar - insbesondere die Captchas der "zweiten Generation", die (aufbauend auf dem Aberglauben, dass einige Bots schon mit Texterkennung ausgerüstet wären) schon für normale User kaum eindeutig identifizierbare Zeichen generieren.

      ACK, Captchas sollten schon noch gut lesbar sein, möglichst auch noch von Sehbehinderten.

      Aber es gibt doch derzeit weniger behindernde Möglichkeiten. Angefangen von über CSS ausgeblendeten input-Fallen (für Bots attraktive Eingabefelder, die nicht ausgefüllt werden dürfen)

      Das ist leider bei Bots, die speziell auf die Seite zugeschnitten isnd, nicht wirklich hilfreich, da die schon wissen werden, was sie in welche Felder schreiben müssen. Auch ein Umbenennen der Feldnamen liefert nur temporären Schutz, denn wenn dieser Schutzt etwas verbreiteter eingesetzt wird, werden die Bots sich darauf einstellen.

      bis hin zu einer zweiten (Vorschau-)Seite, über die der Eintrag erst verschickt wird.

      Das bringt leider genausowenig, wenn es sich um speziell zugeschnittene Bots handelt.

      1. Hallo Jonathan.

        ACK, Captchas sollten schon noch gut lesbar sein, möglichst auch noch von Sehbehinderten.

        Blinde sind auch sehbehindert.

        Bietet ihr den vom CAPTCHA abzulesenden und einzugebenden Text alternativ als Audiodatei zum Anhören an?

        Einen schönen Samstag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Bietet ihr den vom CAPTCHA abzulesenden und einzugebenden Text alternativ als Audiodatei zum Anhören an?

          Nein, das würde ich zwar durchaus befürworten, ist aber leider wegen der blöden Serverkonfiguration nicht möglich.

          Allerdings ist das Registrieren auch nicht nötig, das müssen wirklich nur die Leute, die dort freiwillig Artikel schreiben wollen. Und das Blinde dort Artikel schreiben, halte ich auch nicht für wirklich eine gute Idee, da diese dann das endgültige Layout des Artikels nicht wirklich überprüfen können.

          Und sollte sich dann trotzdem auch mal ein Blinder registrieren wollen, gibt es auch die Möglichkeit einen Admin anzuschreiben, damit der die Registrierung durchführt. Das Captcha braucht man nur für die registrierung, nicht für normales eigloggen.

          Jonathan

      2. Hi,

        Also, ich bin ein Admin im deutschen FirefoxWiki und bei uns ist ein Captcha beim Registrieren eigentlich ziemlich wichtig, da massenweise Spambots unterwegs sind, die auf die eingesetzte mediawiki-Software zugeschnitten sind, sich automatisch registrieren und dann alles zuspammen.

        Ich habe zwar gerade schon den Link zu dieser Methode gepostet, aber ich denke, dass die auch bei speziell zugeschnittenen Bots helfen könnte. Probiert's doch mal.

        freundliche Grüße
        Ingo

        1. Ich habe zwar gerade schon den Link zu dieser Methode gepostet, aber ich denke, dass die auch bei speziell zugeschnittenen Bots helfen könnte. Probiert's doch mal.

          Wäre auch durchaus ne Idee die praktisch funktionieren könnte. Allerdings ist die theoretische Sicherheit sowas von gering, dass ich das dann doch lieber nicht ausprobieren möchte, schon garnicht auf einem öffentlichen produktiven Server. Sollte jemand die Formular-Seite parsen, was nun wirklich kein Problem ist, könnte der sich dann gleich automatisch 1000 mal anmelden und alle Datenbanken zuspammen. Das würde dann böswilligkeit und einen gezielten Angriff gegen unseren Server vorraussetzen, aber so unwahrscheinlich schätze ich das nicht ein. Und einen so angepassten Bot programmiert jeder nicht ganz blöde scriptkiddie innerhalb einer halben Stunde.

          Jonathan

        2. hi,

          Ich habe zwar gerade schon den Link zu dieser Methode gepostet,

          Auch diese Methode baut nur darauf, dass der Spammer sich das Formular einmal holt, und dann zukünftig immer so wieder absendet.

          OK, einen "faulen" Spammer hältst du so vielleicht ab - aber das automatische Parsen eines Eingabeformulars ist kein sonderliches Problem, und somit auch kaum eine Hürde, wenn dem Spammer wirklich etwas dran liegt.

          aber ich denke, dass die auch bei speziell zugeschnittenen Bots helfen könnte.

          Und bei solchen kann man von einem gesteigerten Interesse des Spammers ja vermutlich ausgehen.

          Das Problem, dass Spammen immer noch so billig ist, dass eine Misserfolgsrate von > 99,999% sicher gerne in Kauf genommen wird, und sich das Geschäft trotzdem noch rentiert, schaffen auch solche Möglichkeiten nicht aus der Welt.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }