Beste PHPers,

Ik heb een simpel gastenboek, maar ik krijg de laatste tijd ontzettend veel spam.
Elke minuut komt er 1 bij, ik blijf ze maar verwijderen :S
Ik heb nu ingestelt dat je maar 1x per 12uur kan posten per ip, dat hielp niet.
Toen heb ik captcha erin gezet, en zelfs dat werkt niet! :S

Ik ben ten einde raad, kunnen jullie een kijkje nemen?
http://www.phpmenno.nl/so/index.php?p=gastenboek

Wat moet ik doen?

Alvast hartelijk dank
Groeten,
Menno
Maar ik maak een site voor nederlanders en tsjechen, het probleem is dat ik niet weet of hun weten wat de hoofdstad van nederland is :P

en als ik een rekensom maak, moet dat in het engels, en dat kunnen bots ook lezen toch?
Een hele goede is berichten met de woorden "poker", "viagra" en andere woorden die veel voorkomen in spamberichten gewoon niet toe te staan.
Hallo ik had er ook last van heb dit als oplossing gevonden werkt vrij goed



    $result1=mysql_db_query($database, "SELECT id FROM guestbook WHERE message LIKE 'viagra%' or message like '%cialis%' or message like '%buy%' or message like '%casino%'") or died("Database Query Error");
    $query1=mysql_fetch_object($result1);
    if ($query1) {
	
   
	mysql_db_query($database, "DELETE FROM guestbook WHERE id='$query1->id'") or died("Database Query Error");




Iedere lezer die het gastenboek opent verwijdert voor je de spam!!
Handig vond ik zelf!!
Stel gewoon vragen die over het algemeen iedereen weet, ook mensen die aan de ander kant van de wereld wonen.

vb.:
- welke kleur heeft een olifant?
- Wat is de europese munteenheid?

hou het gewoon simpel, deze bots kunnen hier toch niet op antwoorden, of ze moeten speciaal geschreven zijn voor jou captcha.
Kijk eens naar Akismet. Ik heb het vandaag geïmplementeerd en tot nu toe al goede resultaten geboekt. Voor een voorbeeldtoepassing zie
mijn website
Hij moet 't doen hoor :) Probeer nog maar eens
Ik heb nog een veel simpeler oplossing die goed werkt

Neem in je formulier het volgende op

<span class="hideword">
<br />NB ! Deze niet invullen !!( is alleen tegen spam bedoeld ). Vul uw email adres in bij 'uw email adres'
<input name="emailadress" alt="NB ! Deze niet invullen !!" type="text" size="22" class="formulier_input" value="" />
</span>

In je css neem je op

.hideword {
display: none;
}

In de afhandeling van je formulier neem je op dat als emailadress is ingevult dan wegwezen
Er zijn spambots die hier ook doorheen komen...

Reageren