Vraag & Antwoord

Webprogrammeren & scripting

PHP gastenboek spamblokkering

10 antwoorden
  • Ik heb destijds zelf een PHP gastenboek gemaakt dat op zich naar tevredenheid loopt. Echter sinds korte tijd worden we geplaagd door spam. Een of andere Rus plaatst aan de lopende band een bericht met: "Hi, intresting site... bla bla ....", steevast gevolgd door een hele serie URL's. Het leidt niet tot het door hem of haar gewenste resultaat, want dat heb ik al geblokkeerd met [i:056a23100e]$reactie= strip_tags($reactie);[/i:056a23100e] e.d, dus er ontstaan geen aanklikbare URL's of directe doorschakelingen naar sites. Maar ik zou eigenlijk die troep automatisch willen tegenhouden. Ik stel me voor om met een soortgelijke regel zo'n heel bericht tegen te houden op louter de aanwezigheid van bepaalde woorden. Ik kan in de handleidingen niet zo gauw iets vinden. Iemand ervaring met zoiets?
  • Je zou ook eens naar captcha kunnen kijken. Dergelijke posts worden meestal met behulp van software gedaan, en niet handmatig. Captcha zou dat wel moeten tegenhouden.
  • Bedankt Gerben voor het supersnelle antwoord. Is inderdaad een optie. Mijn vrouw, die uiteindelijk de website beheert, had dit terloops ook al geopperd. Alleen vrees ik dat dit voor veel mensen toch een drempel opwerpt om spontaan ergens op te reageren. Om toch even op de oorspronkelijke vraag terug te komen, bestaat hiervoor in php niet een if-statement waardoor het simpel wordt weggegooid?
  • Een idee zou kunnen zijn, de inputstring te splitten naar een array van woorden, de badwordlist ook in een array plaatsen, en dan de woorden uit de post een voor een checken met een inarray commando. Ander idee is badwordlist in een string te zetten, en dan checken of de ingevoerde woorden als substring voorkomen.
  • Nogmaals bedankt. Ik ga het uitpuzzelen.
  • Is het steeds dezelfde gebruiker die deze berichten plaatst? Kun je dan niet gewoon een if-statement maken voor de gebruikersnaam in kwestie? Bijvoorbeeld: [quote:7612a34ccd]if($gebruiker"=="rus"){ //niet posten }else{ //posten }[/quote:7612a34ccd]
  • Nee, zo slim zijn spammers wel, het is steeds een andere naam. Ik probeer daarom een script te zoeken dat gebruik maakt van een bad-word-list.
  • waar je ook aan zou kunnen denken (als je toch bezig bent met de badwords list) is om je variabelen en mappen aan te passen. Meestal worden die posts gedaan door een volautomatisch script namelijk. t.
  • Helemaal niet zo'n gek idee. Dus b.v. "gasten boek" of "guestbook" in plaats van het huidige "gastenboek". Is dat wat je bedoelt? Gaat in elk geval tijdelijk werken.
  • idd, en de naam van je formuliervelden etc.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.