Jag stötte på ett intressant problem för ett par veckor sedan, när en webbplats som jag skrev för flera år sedan blev ett mål för spammare.
En enkel sida på sajten gör det möjligt för användare att begära ytterligare information, men nyligen hade sajtägarna börjat få massor av spam-förfrågningar om detta. De hörde av sig för att fråga vad som kunde göras åt det, eftersom de kände att de riskerade att missa äkta förfrågningar bland hundratals spamförfrågningar.
Det var uppenbart att förfrågningarna genererades av bots som automatiskt fyllde i och skickade webbformuläret, så mitt första förslag var att lägga till ett Captcha-element i formuläret – den sortens sak som visar en serie vickande, förvrängda tecken och siffror som du måste känna igen och skriva in.
Det var uppenbart att förfrågningarna genererades av bots som automatiskt fyllde i och skickade in webbformuläret
Teorin är att bara människor kan förstå sådana bilder, men så mycket förvrängning tillämpas att ofta mänskliga användare inte kan förstå dem heller. Som sådan – och på grund av ett djupt ömsesidigt hat mot sakerna – frågade min klient om det fanns en alternativ lösning.
Jag hade sett webbplatser som visar en enkel summa och ber om svaret, eller visar en bild och frågar vad det är, som båda verkar vara möjliga lösningar. Men när jag pratade med kunderna fick jag en annan idé och frågade om jag kunde testa något och återkomma till dem.
Smart idé
Det hade slagit mig att dessa bots helt enkelt fyller i alla formulärfält och skickar in sidan, så det kanske skulle finnas ett enkelt sätt att förväxla dem? Om vi satte ett extra fält på formuläret som inte användes och gömde detta med CSS ”visibility: hidden”, skulle en mänsklig användare inte se det, och skulle därför inte skriva in något i det; en bot skulle dock luras att fylla fältet.
Allt vi då behöver göra är att testa för att se om detta fält innehöll något; om det gjorde det kunde vi helt enkelt dumpa det formuläret, eftersom det måste ha kommit från en bot.
Jag var inte säker på att detta skulle fungera, eftersom det berodde på att bots inte använde sidans stilmall för att rendera den. Det visar sig dock att jag inte behövde oroa mig – det fungerade som en dröm.
Fem minuters kodning var allt som krävdes för att stoppa skräpposten. Det är en användbar teknik som du är fri att använda på dina egna webbplatser, även om min vanliga 5% provision gäller…