Logische Fragen
Spam ist eine der größten Sorgen eines Webautors, der auf seiner Internetpublikation dynamische Einrichtungen für den Besucher - zum Beispiel ein Gästebuch - hat. Die Seite kann noch so unbekannt sein, ein baldiger unerwünschter Eintrag ist garantiert. Diese traurige Vorhersage erfüllte sich heute, dem 10. März, auch in meinem Gästebuch. Zur aktuellen Stunde entfernte ich zwei dieser unschönen Einträge mit heutiger Datierung. Mir stellte sich somit schnell die Frage, wie sich diese tragischen Schönheitsfehler vorbeugend verhindern lassen können, ohne dem erwünschten Besucher die Rückmeldemöglichkeit zu nehmen.
Eine sehr beliebte und doch oft verachtete Methode ist die Benutzung von so genannten Captchas. Captchas sind kleine Bilder mit verzerrten oder ähnlich undeutlich gemachten Zeichenkombinationen, die der Benutzer in ein Feld übernehmen muss. Dass dadurch die Zugänglichkeit extrem in's Wanken gerät ist nicht schwer nachzuvollziehen. Auch der Nutzen ist sehr fraglich. Die Empfangende Seite muss prüfen, ob der übergebene Code mit dem angeforderten Code übereinstimmt. Wird diese Information über den Klienten weitergereicht (Cookies, hidden-Feld im Formular, usw.), kann sie Manipuliert werden. Die serverseitige Weitergabe (Sessions) kann vom Klienten zumindest unterdrückt werden, in dem er die Session-Daten nicht mit übermittelt.
In Frage kommen würde auch ein zufälliger, für den normalen Benutzer unsichtbarer (hidden-Feld) Wert, der auf der anderen Seite durch die Prüfsumme (MD5-Checksum) geprüft wird und bei jedem neuen Laden neu generiert wird. Diese Version setzt aber die serverseitige Übermittlung der Prüfsumme voraus, welche, wie oben angesprochen, nicht immer verfügbar sein muss. Des weiteren gibst es die Möglichkeit, vor jedem Eintrag die Seite neu anzufordern und somit den neuen Wert "frei Haus" geliefert zu kriegen. Dadurch ist diese Methode mit einer geringen Anpassung des Programms eines Spamers völlig sinnlos.
Schlussendlich kann man noch die Tatsache ausnutzen, dass (die meisten) Bots keine Sprache - geschweige denn die Deutsche - verstehen. Verfasst man also eine einfache ausformulierte Frage, die zu beantworten ist, ist das zwar von der Zugänglichkeit kein Problem mehr, der Spam-Bot hat aber ohne vorherige Informationen des Programmierers über die Antwort keine Chance. Dass das Einspeichern der Antwort kein großes Problem ist, ist unanfechtbar. Verwendet man aber einige vieler solcher Fragen und wählt eine zufällig aus, wird dies aber schon immens erschwert. Vom technischen Aspekt muss man natürlich auch hier ein Indiz auf die Antwort übermitteln. Dies kann aber eine nicht nachvollziehbare, nur einmal benutzte Nummer sein, die mit der Antwort in Verbindung gebracht wird, oder einfach die Frage. Mit öfter mal neuen Fragen wird so das Leck gut gestopft und die Chance über lange Zeit spamfrei zu bleiben verhältnismäßig hoch.