Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Kontaktformular Spamschutz über Zeitabfrage???

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 05.07.2006, 15:26

Hallo Forum,

seit einigen Tagen werden nen paar Kontaktformulare von mir zugespammt. Irgend nen Bot scheint die für Kommentarfelder oder Gästebücher zu halten, da es sich ausschliesslich üm Viagra, Cialis etc. Links im HTML Format und im BB-Code handelt.

An hand der Logfiles sehe ich, das die Seite direkt aufgerufen wird und das zwischen Aufruf der Seite und Absenden der Seite nur ca. 1 Sekunde vergeht.

Gibt es ne Möglichkeit mit nem kleinen PHP-Code die Verweildauer auf dem Formular abzufragen, und alles was unter 5 Sekunden ist mit ner Fehlermeldung zu versehen?

Nen Captcha Bild möchte ich nur ungern verwenden. Ganz nett finde ich noch die Rechenaufgaben zu Schutz, hab darüber aber leider keine guten Infos/Tutorials gefunden.

Viele Grüße

Ole

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

robo
PostRank 8
PostRank 8
Beiträge: 837
Registriert: 23.12.2003, 19:41
Wohnort: Schwangau

Beitrag von robo » 05.07.2006, 15:42

Ganz anderer Ansatz: Werden in einzeilige Eingabefelder (<input ...>) Newlines eingegeben? Dann kannst du den Müll ganz einfach filtern:

Code: Alles auswählen

   if &#40;preg_match &#40;"/&#91;\r\n&#93;/", $name&#41; ||
       preg_match &#40;"/&#91;\r\n&#93;/", $strasse&#41; ||
       preg_match &#40;"/&#91;\r\n&#93;/", $ort&#41;&#41; &#123;
     $proto = $_SERVER&#91;'SERVER_PROTOCOL'&#93;;
     header &#40;"$proto 403 Forbidden"&#41;;
     echo "<html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>Due to abuse, you are not allowed to access this page.</p></body></html>";
     exit &#40;&#41;;
   &#125;
Bei Textarea-Feldern hast du so natürlich keine Chance ...

Edit: Textarea-Felder dürfen in die Prüfung natürlich auch nicht einbezogen werden, da man in diese ja auch ganz regulär Zeilenumbrüche eingeben kann.

cu, Robo :)
Zuletzt geändert von robo am 05.07.2006, 19:28, insgesamt 1-mal geändert.

ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 05.07.2006, 15:53

Es handelt sich um einzeilige "Input" Felder. Vollkommen richtig.

Was sind "Newlines"? nen <br>?

Es werden solche Dinge eingegeben:
[*url*]https://himen.bee.pl[*/url*]
http*://*himen.bee*.pl
<*a href=https://himen.bee.pl*>buy diazepam<*/a*>
[*url=https://himen.bee.pl*]buy diazepam[*/url*]

Wo müsste dein Code hin? Vor "Submit"?