Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Anregungen gesucht wg. Formular-Spam ohne Captcha

Frage Entwicklung PHP

Mitglied: Codehunter

Codehunter (Level 2) - Jetzt verbinden

07.06.2010 um 09:03 Uhr, 4311 Aufrufe, 2 Kommentare

Hallo zusammen!

Das ist weniger eine konkrete Frage zu einem Scriptproblem sondern ich würde gern eure Meinungen und Erfahrungen mit Formular-Spam erfahren. Folgendes Szenario liegt bei mir vor:

Auf unserer Firmen-Website gibt es ein einfaches Kontaktformular. Seit einiger Zeit beobachte ich, daß Spambots das Formular "testen". Da wir keine Kopie des eingegebenen Textes an die eingegebene Absenderadresse schicken ist das reichlich sinnlos. Unsere Mitarbeiter müssen den Müll trotzdem sichten. Jetzt suche ich nach Möglichkeiten, Nachrichten von Bots gleich von vornherein nicht ins System zu lassen (nach außen hin aber normale Reaktion des Formulars "zur Tarnung")

Was ich von vornherein gleich ausschließe ist der Einsatz von Captchas.

Daher habe ich das Verhalten der Bots ein wenig analysiert und dabei ein paar Dinge festgestellt die man evtl. nutzen könnte. Zum einen rufen die Bots die Seite mit dem Formular nicht vorher ab (noch sonst irgendeine Seite) sondern werfen den POST-Request direkt an den Ziel-URL.

Daher war mein erster Gedanke, einen sessionabhängigen, dynamisch generierten Zufalls-Parameter an den POST-Target im Formular zu hängen, diesen in $_SESSION zu puffern und dann im POST-Target-Script einen 1:1-Vergleich zu machen. Funktioniert aber nur wenn der Client Cookies zuließe.

Zweitens werden ja auch sonst keine eingebetteten Inhalte wie z.B. Bilder geladen. Das brachte mich auf die zweite Idee, einfach irgendein unwichtiges Layout-Bild durch den PHP-Parser zu schicken ("getarnt" durch .htaccess-Rewrite-Anweisung) und dabei ein Flag in $_SESSION zu setzen. Hängt aber ebenfalls an den Cookies.

Drittens könnte ich einen berechneten Prüf-Parameter schon an die Links anhängen die zu unserem Kontaktformular führen welche dann auch an das POST-Target weitergereicht werden (das ginge sogar ohne aktive Session bzw. wenn jemand keine Cookies zuließe und so Möglichkeit 1 ausgehebelt wird). Der Prüf-Parameter hätte eine "Verfallszeit" von sagen wir 1 Stunde.

Viertens: Da die Bots auch keine HTTP-Header auswerten können wenn sie vorher nichts abrufen könnte ich auch einen "Location: www.irgendwo.de/irgendwas.php?check=irgendwas"-Header schicken.

Fünftens: Ich könnte das POST-Target über Rewrite-Rules veränderbar machen sodass sich die Links zum POST-Target ständig zufällig ändern wobei die Links zum POST-Target selbst zwar immer ins "Rewrite-Beuteschema" passen, aber so kodiert sind dass das Script hinter dem POST-Target daraus ebenfalls eine "Verfallszeit" berechnen können.

Sechstens: Die Namen der Formularfelder könnten dynamisch generiert werden wobei die Benennung einem bestimmten Schema folgt woraus sich eine "Verfallszeit" berechnen ließe.

Alle meine Ansätze hängen aber an der Tatsache daß die Spambots anscheinend aus einer Datenbank heraus die Links zum POST-Target sowie die Formularstruktur lesen ohne jedesmal die eigentliche Formularseite abzurufen (vermute mal aus "Performance-Gründen")

Daher habe ich noch nach einem zweiten Ansatz gesucht: Selbst wenn die Bots das Formular vorher abriefen, benötigen menschliche Nutzer deutlich länger um Texte einzugeben als Bots. Man könnte also bei obigen Ideen auch einen Start- und End-Zeitwert rein bringen und dann die Zeitspanne zwischen Formular-Abruf und POST-Request messen. Ist sie deutlich zu niedrig (sagen wir mal <20 Sekunden) spräche das auch für einen Bot.

Gibt es vielleicht noch ganz andere Ansätze, Formular-Spam-Bots das Leben schwerer zu machen?

Danke schon mal und Grüssle
Cody
Mitglied: Snowman25
07.06.2010 um 09:29 Uhr
Hallo Codehunter

Füge Blindfelder hinzu, welche per CSS versteckt werden bzw. in einen unsichtbaren Bereich verschoben werden. Bots füllen diese Felder aus. Menschen nicht. Wenn eines dieser Felder einen Inhalt hat, verwirfst du die Daten einfach.
Das WebsiteBaker-CMS benutzt diese Art der Spamabwehr automatisch. Dazu gibt es dann optional (wie im Beispiel auch) eine Prüfziffer mit Rechenaufgabe.

Siehe z.B.: http://gk-eventcatering.de/pages/kontakt.php
schaus dir einmal mit Stylesheets an, und dann ohne (Menü 'Ansicht' --> 'Webseiten-Stil' oder ähnlich)

Gruß
Snow
Bitte warten ..
Mitglied: maretz
07.06.2010 um 10:15 Uhr
Moin,

also ich würde das ganze über die Session lösen. Seien wir mal ehrlich: Wieviele Clients hast du die heute einen Cookie wirklich verweigern UND die für dich einen Relevanten Inhalt schicken? Mich dürfen jetzt hier gerne alle steinigen wenn ich sage das mich diese Postings von den "Ich will meinen Rechner so dicht wie möglich machen und bin eh paranoid"-Kiddys eh nicht intressieren würden. Wenn DIE mir was wichtiges zuschicken wollen können die auch meine Mail-Adresse nehmen und das per Mail zusenden.

Wer mir aber als normaler Besucher (d.h. 99,5% der Besucher vermutlich) etwas schicken will der hat normal auch nen 08/15-Browser (IE, Opera, FF,....) und da wird scho nicht mehr gefragt....
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Exchange Server
Exchange 2016 Spam (8)

Frage von halington zum Thema Exchange Server ...

Outlook & Mail
gelöst Outlook 2016 Spam Problem (6)

Frage von angler2001 zum Thema Outlook & Mail ...

iOS
SPAM Einladungen im iCloud Kalender löschen (1)

Tipp von Frank zum Thema iOS ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(4)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...