Root » Webserver » » Index SEO » Spammers » Guestbook spam
Search engine optimalisation
Rommel in je gastenboek of forum
Guestbook spam
Als webmaster kan je een guestbook-software (gastenboek) of zelfs een forum installeren. Dit kan natuurlijk niet als je enkel de webruimte gebruikt van je provider, maar als je een virtuele server (of een eigen server) hebt, dan is het eenvoudig om een dergelijk programma te voorzien. Het programma laat toe dat gebruikers hun mening over de site achterlaten, en dat deze tekst door iedereen gelezen kan worden.

Een forum is een meer gestruktureerde gastenboek, waar de berichten gesorteerd worden op onderwerp. Zowel forums als gastenboeken zijn gratis beschikbaar op het internet, maar omdat de gebruikte taal PHP is zijn deze fora bijna allemaal het slachoffer van spam-aanvallen.

-

-

Gastenboek

Een deel van de kode dat door de spammer ingegeven werd...
In het rood de delen die op gastenboek-spam wijzen.
free nokia ringtone or <B><a href='http://pub2.bravenet.com/vote/vote.php?usernum=156053956'>nokia ringtones</a></B>; <h1><a href='http://pub2.bravenet.com/vote/vote.php?usernum=88372979'>generic lorazepam</a>:</h1> lorazepam, buy lorazepam, generic lorazepam or <B><a href='http://pub2.bravenet.com/vote/vote.php?usernum=88372979'>order lorazepam</a></B>; <h1><a href='http://disc.server.com/Indices/234489.html'>free alcatel ringtones</a>:</h1> alcatel ringtone, alcatel ringtones, free
Het is eigenlijk voldoende dat de script op de aanwezigheid van <a href=http:// controleert, maar het kan ook gewoon alle html verwijderen (alles wat tussen "<" en ">" staat).

Ik was "Fernand Parisel" aan het zoeken op het internet, en ik kwam op de site van Arthur Grumiaux. Dit is een bekende violonist dat in het zeepreventorium speelde op het ogenblik dat Fernand Parisel er de hoofdgeneesheer was, en Fernand Parisel had dus een dankwoord in het gastenboek achtergelaten. Toen ik de pagina bekeek, zag ik dat de laatste bijdragen allemaal gingen over viagra, poker en ringtones: allemaal zaken die niet bestonden ten tijde van Parisel of Grumiaux. Een spammer had gewoon een paar berichten ingegeven met een link naar zijn eigen sites.

Het is niet de bedoeling dat de bezoekers van de site van Arthur Grumiaux ook online poker zouden gaan spelen, en aan hun leeftijd helpt het met viagra ook niet meer, maar het is wel de bedoeling dat de links opgemerkt worden door seach engines; hoe meer links er naar een bepaalde site wijzen, hoe hoger dat de site in de rankings stijgt.

Persoonlijk vindt ik het een schade dat de website van een overleden artiest overwoekerd wordt door spamberichten.

Hoe werken de spammers?

Er zijn twee robotten aan het werk:
  • één die alle websites doorzoekt naar een string input type=textarea. Een "textarea" is een inputveld waar de bezoeker zijn tekst kan plaatsen. Robotten gaan ervan uit dat een inputveld naar een forum, gastenboek of iets dergelijk zal leiden. De pagina wordt verwerkt en de parameters opgeslagen.
  • een tweede robot stuurt geautomatiseerde teksten naar het formulier-adres (de url dat de input moet verwerken).
Beide robotten werken onafhankelijk van elkaar: ik krijg gastenboek-spam zonder dat de inhoudspagina (de pagina waarop het formulier staat) vooraf gelezen wordt.
De robotten zijn dom en controleren ook niet of de verwerking van het formulier effekt heeft gehad: op een form2mail (formulier naar email) waarop mensen zich kunnen inschrijven krijg ik ook guestbook-spam, terwijl het formulier niet verbonden is met een gastenboek!
Dat de robotten hun uitwerking niet nagaan kan je zien op deze pagina dat in real-time opgemaakt wordt en de laatste spam-berichten bevat: robotten gaan ervan uit dat de forumsoftware gestandardiseerde tags gebruikt en deze omzet in links naar hun sites. Als de forumsoftware verschillend werkt, dan lijkt het resultaat op niets, maar dat kan de robotten niet deren: ze kijken nooit naar het resultaat.

Hoe forum-spam en guestbook-spam tegengaan?

Formulier aanroepen met een externe javascript
Eén van mijn sites waarop een formulier staat met gastenboek krijgt geen spam, terwijl de site al meer dan een jaar bestaat. De reden is eenvoudig: de kode dat de de formulier aanmaakt is volledig in externe javascript geschreven (spam robotten kunnen geen javascript verwerken) en dus niet aanwezig op de pagina. Maar verwacht daar niet teveel van: na een tijd komt er een robot dat wèl externe javascript kan lezen...

De volledige kode dat het formulier genereert <form method=post action=...><input type=...>... plaats je in een aantal javascript statements: document.write("<form method=post action=...><input type=...>..."); dat je in een extern bestand plaatst. Op de plaats waar de formulier moet komen roep je dan het javascript bestand aan: <script src=xxx.js<>/script>. Een voorbeeld is te zien op alle tekstpagina's van de site over het zeepreventorium. Kijk naar de source-kode van de pagina en je zal geen instrukties vinden die op het bestaan van een formulier wijzen.

URL wijziging
Wijzig regelmatig de url van de formulierverwerking: zoals je boven hebt gelezen zijn er meerdere robotten aktief. Op het ogenblik dat de eerste robot de formulier-url aan de tweede gegeven heeft, heb jij al lang de effektieve url aangepast. Dit moet simultaan gebeuren: de pagina die de aanroep bevat moet gewijzigd worden, alsook de naam van het aangeroepen programma (formulierverwerking). Je zult versteld staan hoeveel aanroepen je krijgt op een url dat al maanden niet meer gebruikt wordt.

Het wijzigen van de aanroeppagina en url van de formulierafhandeling kan je automatisch laten gebeuren met een cron-job, of gewoon manueel wijzigen van zodra de eerste spamberichten verschijnen.

Formulierverwerking zelf
Zorg ervoor dat de gebruikte script geen naakte html toestaat, maar alle html omzet in gewone tekst. Daarmee bereik je nog niet dat spammers geen bericht achterlaten, maar ze hebben er tenminste geen profijt bij.
Als je de guestbook-script (formulierverwerking) kan aanpassen, kan je ervoor zorgen dat pagina's met html kode automatisch geweerd worden (dit is de beste oplossing, maar niet iedereen is in staat de scripts te wijzigen).
Als je de inbreng van iemand weigert omdat er html-code aanwezig is, geef dan wel de reden aan in het antwoord-pagina: anders zouden bepaalde gebruikers in de war geraken omdat hun bericht geweigerd wordt als ze de tekens ">" en "<" gebruiken.

Een betere oplossing is natuurlijk een script op maat zoals het forum zeepreventorium (geërgerd door de talrijke spamberichten op het forum heb ik zelf een programma geschreven). Hier gebruik ik een zeer eenvoudige filter: een grafische captcha. Dit blijkt nog de beste oplossing, hoewel er altijd mensen zullen klagen "waarom moet ik een stom getal invoeren". Tja, als ze zouden weten wat er allemaal geweerd wordt dankzij dat stom getal...

Een laaste voorbeeld van gastenboek-spam

Zelfs het bedrijf waarvoor ik vroeger werkte (Verfaillie-Bauwens) had last van gastenboek-spam. Wij verzorgen onze eigen website niet meer zelf, maar laten dit over aan een ander bedrijf. Zo nu en dan bekijk ik de site, en wat zie ik dan? …

De extra tekst dat erbij wordt gezet "on advantage trips..." moet ervoor zorgen dat de link aangezien wordt als een organische link (een link binnen te doorlopende tekst) en niet als een soort gesponsorde link (die hebben meestal geen omliggende tekst). De zoekrobotten van google en microsoft echten meer belang aan organische links dan aan losstaande links.

Publicités - Reklame

-