Formulieren spam
Ik neem aan dat de spammers niet handmatig websites gaan nalopen op zoek naar een contactformulier, en ik ga er dus vanuit dat dit geheel geautomatiseerd gebeurt en dat een spider/crawler/bot op zoek gaat naar contactformulieren op willekeurige websites en dat geprobeerd wordt om die formulieren in te vullen. Is mijn gedachte correct?
De tweede vraag die ik heb ... op het moment dat dit geautomatiseerd gebeurt, heeft zo'n bot dan ook beschikking over de sessie?
Weet iemand dit toevallig?
Als je kijkt naar de mogelijkheden die je hebt met CURL dan weet je dat je script ook een cookie kan bewaren en kan hergebruiken. Dit is voldoende om de server een sessie bij te laten houden. Beschikking tot de sessie zelf heeft een bot niet omdat een sessie zich aan de zijde van de server bevindt terwijl de bot de (geautomatiseerde) client is.
Ik gebruik in mijn formulier een token die ik opsla in de sessie. Zo weet ik dus dat het formulier vanaf mijn website is verstuurd. Althans ... dat is het idee.
Jij zegt nu dat zo'n bot dus een cookie kan opslaan. Heeft zo'n token dan eigenlijk wel zin vraag ik me af. Als zo'n bot de sessie dus kan meekrijgen (ik bedoel niet het sessiebestand zelf maar de cookie) dan kan ie dus gewoon de token inlezen en bij de posting die token meesturen? Of zie ik dat verkeerd?
Het viel mij op dat dit echt een luttele seconde duurde. Je kan snel tikken natuurlijk, maar en je naam, email, en bericht met een heel verhaal over bruidjes en viagra dat kan een mens niet zo snel. :) En dan ook nog diverse keren achter elkaar...
Ikzelf heb ontzettend veel last gehad van spam in een gastenboek.
Daarvoor heb ik recaptcha ingezet van Google, en daarmee was het probleem snel uit de wereld.
Overigens vond ik het wel apart dat het gastenboek gespamd werd en het contact formulier niet.
Daar kijk ik inderdaad ook naar ... maar ik zou graag weten hoe e.e.a. werkt.
Ik neem aan dat er dus sprake ik van een bot die op je site komt en op zoek gaat naar formulieren. Hoe werkt dat proces? Wordt de pagina eerst 'binnengehaald' en wordt er vervolgens gezocht naar het woord 'form'? Dat lijkt me het meest logisch.
In mijn geval staat er een token in het formulier die correspondeert met de token in de sessie. Ik ben benieuwd of zo'n bot door die beveiligingslaag heen komt door de sessie-cookie in te lezen en die te gebruiken bij het posten van het formulier. Kan zoiets?
Bart V B op 21/01/2017 18:58:54:
Ik denk eerder dat je beter kan kijken hoe snel het formulier word ingevuld.
Het viel mij op dat dit echt een luttele seconde duurde. Je kan snel tikken natuurlijk, maar en je naam, email, en bericht met een heel verhaal over bruidjes en viagra dat kan een mens niet zo snel. :) En dan ook nog diverse keren achter elkaar...
Ikzelf heb ontzettend veel last gehad van spam in een gastenboek.
Daarvoor heb ik recaptcha ingezet van Google, en daarmee was het probleem snel uit de wereld.
Overigens vond ik het wel apart dat het gastenboek gespamd werd en het contact formulier niet.
Het viel mij op dat dit echt een luttele seconde duurde. Je kan snel tikken natuurlijk, maar en je naam, email, en bericht met een heel verhaal over bruidjes en viagra dat kan een mens niet zo snel. :) En dan ook nog diverse keren achter elkaar...
Ikzelf heb ontzettend veel last gehad van spam in een gastenboek.
Daarvoor heb ik recaptcha ingezet van Google, en daarmee was het probleem snel uit de wereld.
Overigens vond ik het wel apart dat het gastenboek gespamd werd en het contact formulier niet.
Ik denkt dat zo meerdere naar span kan kijken en natuurlijk is contactformulier iets meer moeilijk en soms hebben meer velden.
[email protected]&password=NoTsOSeCrEt) en rammen maar. En inderdaad je zou een timestamp kunnen opslaan in de sessie als het token wordt meegegeven in je formulier. Krijg je binnen een halve seconde een form ingevuld terug inclusief geldig token dan zou je wel kunnen stellen dat dit volledig geautomatiseerd is gegaan. Ook een textfield die je met je css op hidden zet zou normaal gesproken leeg moeten blijven en bij een bot mogelijk ingevuld zijn. Tja gebruik je fantasie om een goede beoordeling te kunnen maken tussen fake en real.
Je token heeft zeker een functie. Zonder zo een token kan een bot posten zonder je pagina (met token) te laden. (Als je niet helemaal wilt uitgaan van heuristiek zou je ook nog naar iets als projecthoneypot kunnen kijken, of Akismet.
Gewijzigd op 21/01/2017 23:33:54 door Ben van Velzen
Maar waar ik nog steeds benieuwd naar ben en nog geen antwoord op heb, is of zo'n bot een sessie meekrijgt als ie mijn website bezoekt. Kan zo'n bot gebruikmaken van een sessie-cookie? Want in dat geval kan ie dus de token inlezen en gedurende diezelfde sessie meesturen in de post. In dat geval is die token-beveiliging dus niet echt een beveiliging. Of zie ik dat verkeerd?
Gewijzigd op 22/01/2017 00:57:49 door Ben van Velzen
Hmm, oké ... thanks.
Ben van Velzen op 22/01/2017 00:56:56:
Om het geheel wat ondoorzichtiger te maken kun je er voor kiezen om geen foutmelding te geven op het moment dat timings of token niet kloppen.
Dat is niet echt gebruiksvriendelijk. Verder lijkt het mij dat bots niet zo geavanceerd zijn (deze feedback gaan analyseren en op grond daarvan iets doen) en als ze dat zijn, dan wordt het maken van het onderscheid tussen bots en menselijke gebruikers nogal lastig... en in dat geval is er nog steeds de (re)captcha :).