Spam in Gastenboek. Oplossing gezocht
15 april 2007 - 21:33   
geplaatst door: MartiBo
Hallo,

Voor een kennis heb ik een gastenboek gemaakt. Hij werkt verder prima, maar oh wat een spam komt er binnen!
Nu heb ik al wat dingen geprobeerd om dit te verminderen, maar ook dat blijkt niet echt geweldig te werken. Nu lees ik op internet dat men het beste een "captcha-script" kan inbouwen, maar ik krijg het niet voor elkaar. :wacko:

Wie kan en wil mij helpen om een "anti-spamfilter" in het gastenboek in te bouwen?
Of wie weet een duidelijke handleiding daarvoor?

Macbook Pro i7, Apple Display. http:// idforyou.nl
Spam in Gastenboek. Oplossing gezocht
16 april 2007 - 12:50    reactie #1
geplaatst door: Theis Jan
Het spijt me, ik weet weinig van PHP maar ik weet wel dat je op de site www.phpfreakz.nl
voorbeelden kan zoeken.

Link: http://phpfreakz.nl/forum.php?q=captcha-script&forum=0

mvg,
TJ

PS: Ik hoop dat ik je toch een beetje heb geholpen.

Spam in Gastenboek. Oplossing gezocht
16 april 2007 - 13:04    reactie #2
geplaatst door: Fredrik
Zo'n captcha script (waar je een code over moet typen) werkt misschien wel, maar ik heb er als gebruiker een ontzettende hekel aan bij zoiets simpels als een gastenboek. Voor een account registreren ergens vooruit, maar voor een simpel berichtje zo'n ingewikkelde code overtypen is nogal irritant. Daarnaast is het zelfs dan ook nog wel soms te kraken door die spammers.

Ik zou in eerste instantie kijken of je een blacklist aan kan leggen van ip's of email adressen.

Join de macfreak groep op http://www.last.fm
Spam in Gastenboek. Oplossing gezocht
16 april 2007 - 15:30    reactie #3
geplaatst door: Emerik
Zo'n captch mag dan wel niet zo fijn zijn om steeds in te vullen.
Aan zo'n blacklist heb je helemaal niets. Die spambots gebruiken
steeds weer andere IP's. En een account laten aanmaken voor een
gastenboek is eigenlijk ook niet erg handig. Volgens mij is het
meest gebruiksvriendelijke toch zo'n captcha hoor.
Helpt u de wereld al redden?
Spam in Gastenboek. Oplossing gezocht
16 april 2007 - 16:05    reactie #4
geplaatst door: Thomas
Een captcha voor een zelfgemaakt gastenboek kan heel makkelijk te maken zijn, bijvoorbeeld
"typ hieronder in het tekstvak het getal negen" , en dan een klein vakje waar 1 getal in kan.
Heel eenvoudig gemaakt maar voor 99% van de spam een te grote barriere...
Wat ik hier uitkraam is puur mijn persoonlijke mening.
Spam in Gastenboek. Oplossing gezocht
16 april 2007 - 16:06    reactie #5
geplaatst door: Cailin Coilleach
Wat is er mis met een simpel extra checkje in het formulier in de trant van "als dit veld niet het woord 'spamsucks' bevat, dan mag ie er niet door"? Zo heb ik het zelf opgelost.

Erg low-tech en simpel te implementeren.

Overigens: linkje naar een voorbeeld?

EDIT:
Thomas was me -net- voor.

(Bewerkt door Cailin Coilleach om 16:06, 16-04-2007)

Spam in Gastenboek. Oplossing gezocht
16 april 2007 - 16:33    reactie #6
geplaatst door: mvdg
Ik heb dit niet getest, maar bedenk het nu net: je zou ook twee knoppen kunnen maken voor het verzenden. De eerste knop (of een linkje, dat kan ook) plaatst een waarde in een verborgen veldje in het formulier (feitelijk dus net zoiets als de 'typ hier een 9'). De tweede verzendt daadwerkelijk het formulier. Komt op hetzelfde neer, maar het klikken op een knop of linkje is makkelijker dan het typen van een nummer o.i.d.
Mitch Design : websites en interactieve toepassingen : http://www.mitchdesign.nl
Spam in Gastenboek. Oplossing gezocht
17 april 2007 - 20:13    reactie #7
geplaatst door: MartiBo
Bedankt voor jullie reacties!

Het is inderdaad haast vrijwel onmogelijk om de spam tegen te houden door IP-blokkering. In pak hem beet 2 dagen worden er 70 berichtjes geplaatst, van verschillende adressen.

Ik las dat het "veiligste" is om zo'n captcha-script in te bouwen. Misschien niet echt lezervriendelijk, maar mensen plaatsen nu niks vanwege al die spam. Is dus ook niet de bedoeling.

De optie om een simpel nummertje in te moeten tikken voor akkoord van plaatsen, lijkt me een goed idee. Misschien moet ik het maar gewoon gaan testen. Echt een ster in codering ben ik niet, dus ik moet het allereerst nog uitvogelen.

Het gastenboek staat overigens op http://www.mvanderhorst.nl/gb.php

Macbook Pro i7, Apple Display. http:// idforyou.nl
Spam in Gastenboek. Oplossing gezocht
17 april 2007 - 22:33    reactie #8
geplaatst door: Slagroom
Wat ik doe is een hidden field maken en de waarde daarvan op bijvoorbeeld "appel" zetten. Wanneer het formulier gesubmitted wordt wordt deze op bijvoorbeeld "soepkip" gezet dmv een javascript. En bij het verwerken van het formulier controleer je of dat veld de waarde "soepkip" heeft. Zo niet, dan is het een spam-bot...

Die spam-bots kunnen (meestal) niet overweg met javascript.

Spam in Gastenboek. Oplossing gezocht
19 april 2007 - 15:35    reactie #9
geplaatst door: Leendert
je kan ook eens proberen om het onderstaande script in de bovenkant van je gastenboek pagina te plaatsen, als dat een bestand met een .php extensie is tenminste:


<?php<p>$denyall "1";<br>$siteurl "www.jouwdomeinnaam.nl";<br>$callingurl getenv("HTTP_REFERER");<p>if ($denyall == "1") {<br>        $siteurllen strlen($siteurl);<br>        $striphttp ereg_replace ("http://"""$callingurl);<br>        $urltochk substr($striphttp0$siteurllen);<br>        if ($siteurl != $urltochk) {<br>header("Location:http://www.jouwdomeinnaam.nl/hoepeltochopspamslet.php");<br>                exit;<br>        } <br>}<p>?>

Wel moet je voor de header("Location ... enz. nog even een PHP pagina aanmaken waar een toepasselijke tekst komt.

Spam in Gastenboek. Oplossing gezocht
19 april 2007 - 15:53    reactie #10
geplaatst door: mvdg
Ik vraag me af of dat veel zin heeft. De 'referer' header is immers zeer eenvoudig te vervalsen. Je mag aannemen dat iemand die de moeite doet om een spam script te maken daar ook rekening mee houdt. Maar wie weet, voor bepaalde amateur spammers helpt het vast wel.

Mitch Design : websites en interactieve toepassingen : http://www.mitchdesign.nl
Spam in Gastenboek. Oplossing gezocht
19 april 2007 - 18:56    reactie #11
geplaatst door: Leendert
Ach, wat mij betreft is het resultaat wat telt: vanaf het moment dat het script in de kop van het gastenboek script zat was de spam van 100% naar 0% dus kennelijk is het afdoende.
Spam in Gastenboek. Oplossing gezocht
19 april 2007 - 19:17    reactie #12
geplaatst door: Mars
Ik weet niet hoe groot de potentiele gastenkring van je kennis is en of er veel berichten te verwachten zijn, maar een andere techniek is ieder berichtje in het gastenboek eerst te laten goedkeuren door de beheerder van het forum.
Het wordt dan dus pas geplaatst als de beheerder het goedgekeurd heeft.

(Bewerkt door Mars om 19:24, 19-04-2007)

Spam in Gastenboek. Oplossing gezocht
21 april 2007 - 22:06    reactie #13
geplaatst door: MartiBo
Hallo,

Bedankt voor julliie reactie. Inmiddels heb ik van iemand de link gekregen van een makkelijk te plaatsen gastenboek, die al anti-spam als functie in zich heeft. Nu probeer ik het gastenboek te plaatsen in het ontwerp, maar er komen nu foutmeldingen, waar ik me geen raad op weet. Misschien kunnen jullie me daarmee helpen???

Het "vernieuwde" gastenboek staat op http://www.mvanderhorst.nl/gastenboek/gbook2.php. De foutmeldingen zijn als volgt:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/00/27/61/mvanderhorst.nl/www/gastenboek/gbook.php:9) in /var/www/00/27/61/mvanderhorst.nl/www/gastenboek/gbook.php on line 125

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/00/27/61/mvanderhorst.nl/www/gastenboek/gbook.php:9) in /var/www/00/27/61/mvanderhorst.nl/www/gastenboek/gbook.php on line 125

In het script gaat het over de regels met session_start(); ervoor:

/* And this will start session which will help prevent multiple submissions and spam */
session_start();
if($a=='sign' || $a=='add') {
   session_name('GBOOK');

if ($settings['autosubmit'] && $a!='add')
{
   $_SESSION['secnum']=rand(10000,99999);
   $_SESSION['checksum']=crypt($_SESSION['secnum'],$settings['filter_sum']);
}
   gbook_session_regenerate_id();


Ik hoop een antwoord om dit weg te krijgen...  :worship:

(Bewerkt door MartiBo om 22:19, 21-04-2007)

(Bewerkt door MartiBo om 22:54, 21-04-2007)

Macbook Pro i7, Apple Display. http:// idforyou.nl