Hey guys,

Weet iemand van jullie wat een spam-bot eigenlijk "ziet"?

Een voorbeeld ... ik zet in een formulier een selectbox met als label "niet aanvinken" en vervolgens haal ik met javascript die selectbox en label weer weg ... ziet die spam-bot die selectbox en label dan wel of niet?
Ik heb wel een database lijst vol met ip adressen die spammen op een contact formulier. :)
Zo'n 200.000 records dacht ik zo uit mijn hoofd.
Als je wil mag je die wel hebben. Hoef je alleen effe een query toe te voegen om te kijken of het ip gelijk is aan het ip waarvan het word verstuurd. Een betere methode is er volgens mij niet.
En als er dan nog eentje doorslipt, dan is het even het ip adres toevoegen.
Thanks voor het aanbod! Ik zal het in gedachten houden :-)

Maar vooralsnog wil ik dus een oplossing die gewoon alles tegenhoudt :-)))
Wat denk jij van de opzet die ik noemde? Dus zo'n honeypot-constructie, en dan het betreffende veld voor de 'normale' bezoeker onzichtbaar maken via Javascript?
Zo als ik al zei: ja. Spam-bots zijn tegenwoordig slim genoeg om captcha's te lezen dus om een verborgen veld over te slaan is helemaal een eitje. Je zult er misschien wel een paar mee tegenhouden, maar ze worden steeds slimmer. De 'no captcha recaptcha' zou je al een heel eind kunnen helpen.
Hmmm ... da's minder ... ik wil namelijk geen captcha op een simpel contactformulier zetten ... maar ja, als het echt niet anders kan :-(
:) dat wil ik ook.
Een honeypot constructie zou je kunnen proberen.
Ik heb het een paar jaar geleden ook gebruikt, maar dan via CSS.
Op zich werkt dat aardig, maar had al gauw door dat het soms niet goed werkte.
Volgens mij heb ik toen een @random CSS stukje met php erin gemaakt, dat werkte ook redelijk.
Dus, het veld een makkelijk bekende verschillende namen geven en die per view veranderen.
Dan is zo'n bot ook de weg kwijt.

Met javascript moet ik eerlijk zijn dat ik daar niet gebruik.
Vind het persoonlijk niet zo heel spannend om wielen uit te gaan vinden die al zijn gedaan.
Kijk anders eens naar het honeypot project. http://www.projecthoneypot.org/
>> Met javascript moet ik eerlijk zijn dat ik daar niet gebruik.
>> Vind het persoonlijk niet zo heel spannend om wielen uit te gaan vinden die al zijn gedaan.

Nou, er valt weinig uit te vinden ... in plaats van dat je een veld via css op display:hidden zet, doe je datzelfde via javascript. Gevoelsmatig zou je denken dat dat lastiger is voor zo'n spambot. Of dat ook daadwerkelijk zo is ... tja ... daar vraag je me wat... :-s
>>Nou, er valt weinig uit te vinden ... in plaats van dat je een veld via css op display:hidden zet, doe je datzelfde via javascript.

Daarom gebruik ik het ook niet. :)
Met een @random veld display:hidden middels php doet eigenlijk precies het zelfde.
Mijn theorie op dat moment was dan ook, ik doe het server side, dus ik bepaal wat er gebeurd.
Zo'n bot moet wel heel slim zijn om alle randoms te onthouden die ik had aangegeven via het script.
Maar daar kwamen ze op enig moment toch ook doorheen.

In mijn theorie zou dat betekenen als zo'n bot wel javascript herkend, dan heeft het niet zoveel nut.
Ik zou me kunnnen voorstellen dat ze slimmer worden, dus ook niet meer werkt.
Dat is eigenlijk mijn argument om er niet aan te beginnen.

Vandaar dat ik voor een rigoreuze oplossing kies, en dat is bekende ip's bannen van de website, dus gewoon helemaal niet meer, het contact formulier, en gastenboek, en comments op blog items.

O ja, als je ooit een blog item hebt wat ooit echt gespamt word, dan heb ik nog een simpele oplossing: Het item opnieuw in de database zetten, dat werkt perfect.
Het lijkt er op dat als een botje een succses volle spam aktie heeft gedaan, dat hij daarop blijft doorgaan. Dus onthouden.

Ik had een item die echt iedere dag vol stond met spam in de comments
Op een gegeven moment was ik het zo beu en heb ik het item opnieuw in de database gezet op een andere plaats. Was bijvoorbeeld id 20 en verplaatst naar een nieuw id 52 ofzo. Omdat ik op datum sorteer had ik geen problemen met de volgorde en bleef alles zoals het was. En geen een spam bericht meer gezien. :)

>> Met een @random veld display:hidden middels php doet eigenlijk precies het zelfde.

Wat probeerde je daarmee te bereiken dan? Wat is het nut om een random veld (bedoel je een random naam?) op hidden te zetten? Het is toch juist niet de bedoeling dat die bot ziet dat er een veld op hidden staat?
nee het idee erachter is, dat het voor de bezoeker niet zichtbaar is, en voor een bot wel.
Op het moment als het is ingevuld, dan moet er niets gebeuren.
Als je nou bijvoorbeeld in je CSS E-mail, email, eMail, e.d. hidden maakt en een eigenschap hidden geeft en met php @random een veld met die veldnamen, dan creeer je het zelfde alleen breng je hem in de war.
Want het is nooit het zelfde, althans hoe groot de array in php is natuurlijk.

En idd, uitleggen is lastiger dan wat het is, ik bedoel dus @random naam. ;)
Trek nog een trappist open. :)

Je zou zoiets dan krijgen in pseudo code:

<input type="text" name="<?php echo $_SESSION['rand_veld']; ?>" id="<?php echo $_SESSION['random_veld'];?>">
Ah oké (proost!) ... als ik je goed begrijp zet je dus in een extern stylesheet;

.email, .EMAIL, .e_Mail, .mail { display: hidden; }

En via php geef je dan @random de class email EMAIL e_Mail of mail mee aan dat veld. Op die manier bedoel je?

Reageren