Top-Themen

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, 4317 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
Windows 7
Win7 Deployment - Anregung gesucht
gelöst Frage von flabsWindows 74 Kommentare

Hallo miteinander, ich bräuchte mal eine Anregung um folgende Situation zu lösen. Deployment von Windows 7 im kleinen Unternehmen. ...

Linux
PDF Indexierung Anregungen gesucht
gelöst Frage von flabsLinux3 Kommentare

Moin miteinander, ich suche Ideen und Lösungsansätze für folgendes Problem. Ich scanne Schriftstücke / Belege aller Art als PDF/A ...

Hosting & Housing
Tutorial bzw. Anregungen zum einrichten eines DNS-Nameserver gesucht.
Frage von BlattlausOGHosting & Housing9 Kommentare

Hallo zusammen, ich mache mir Gedanken darüber seitdem dyn-dns seinen kostenlosen Dienst eingestellt hat einen eigenen DNS-Service auf meinem ...

TK-Netze & Geräte
Fax-Ersatz gesucht - Brainstorming bzw. ANregungen
gelöst Frage von hesperTK-Netze & Geräte4 Kommentare

Hallo zusammen! Ich hab da ein kleines Problem in einer neuen Außenstelle. Dort ist das Büro aktuell in einem ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...