Har hittat många trådar om spam i gästböcker, men jag skapar ändå en ny tråd.
Jag har en gästbok (egenkodad) som tidvis får ofantliga mängder spaminlägg. Jag har försökt stoppa det genom en randomiserad bild med tecken som användaren måste fylla i. Spambotarna verkar dock kringgå det! Vad jag inte riktigt förstår är hur spambotarna fungerar.
Fylls formuläret i rent fysiskt, eller har en egen sida skapats där samma POST-variabler finns med, eller finns det andra sätt att fylla i formulär? Använder de någon slags bildanalysprogram för att läsa av bilden, eller hur funkar det?
Hur som helst så vill jag ju gärna stoppa spammet. Bild jag genererar nu är en enfärgad bakgrund med icke-förvrängda tecken. Det lär ju vara lättare att avläsa tecknen om de inte är förvrängda, men hur stor roll spelar det egentligen? Hur smarta botar finns det där ute?
Jag gjorde en väldigt enkel lösning på en av mina hemsidor, som dock fungerar klockrent hittills. Jag har en fråga i stil med: "Skriv ordet ost baklänges". Testa detta, det kanske fungerar bättre? Känns bara onödigt att hålla på och trixa med bilder om man inte behöver :)
Låter konstigt om robotarna lyckas posta. Inte vanligt att dom klarar att läsa bilder.
Hur skickar du koden från bilden? Lägger du koden i en session så brukar det funka.
Är det captcha-metoden du använder? Robotar börjar tydligen lista ut hur de ska göra för att kringå de där.
Gör som Microsoft - randomisera fram en bild på en hund eller en katt och låt besökaren skriva i vilket av djuren det är. En robot kan aldrig se skillnad på en hund och en katt (än...). :)
Hoj
Ska testa med ett textfält där användaren får skriva i svar på en fråga istället. Verkar ju stoppa en hel del. Att byta namn på input fälten är nog också en bra idé.
Hur som helst ser min kod ut såhär i alla fall:
I guestbook.php:
if ($_POST["action"] == "post" && $_POST["scramble"] == $_SESSION["nonce"]) {
//Här sparas inlägget i databasen
}
Kod för att skriva ut bilden
Skriv koden nedan för att posta meddelandet. <br>
<img src="scrambleImg.php" width="55" height="30">
Jag läste ett smart tips i något forum som jag tror kär (nästan) idiot-säkert. Gör ett input-fält, döp det till typ "email" eller "www" eller nåt som en Spam-bot kommer att gilla. Sätt sedan ett style sheet som döljer fältet helt och hållet. Sedan kollar du bara om detta fältet är ifyllt, är det ifyllt så är det garanterat en Spam-bot.
Men, jag förklarade ju det i koden ovan? Du kan antingen skriva en style-sheet deklaration "inline" genom att lägga till style="{display: none;}" direkt i html-taggen eller så kan du lägga till den i en klass, googla på "css class display" så hittar du säkert bra exempel...
Kanske inte helt on-topic, men jag tycker det brukar fungera rätt bra med att slänga in Bad Behavior-plugin (går ganska lätt att anpassa till alla script), så slipper man en del robotspam: http://www.homelandstupidity.us/software/bad-behavior/
finns många lösingar
jag använda denna lösing på min hemisda, http://users.maxxflow.com/~fig-ghd742/gastbok.php där en kod slumpas fram och spara i sinsorcokie, (sory stavingen, har dyxlise)
men några gärje du bör tänka på
*För hindra att samma parson kan göra flera inlägg på kort tid.
*begränsa hur många teken som man får använda
Glöm inte att nolstäla id för din bild/säkihetskod efter du har tagit i mort data
Hackade en sida på det visen en gång genom att sicka samma fomulär data flera gånger.
Jag har läst här och försökt göra spamkontrollen med det enkla sättet att besvara en fråga. Men den verkar inte kunna läsa vad man skriver i textfältet,
eftersom jag får alltid upp att svaret är fel...skulle ni kunna titta genom min kod och se vad jag har gjort för fel så är jag mycket tacksam.
if (($spam != "Gul") or ($spam != "gul") or ($spam != "GUL"))}
Det ser ut som ett klassiskt logik/negations-fel:
Om du använder negativ matchning i ett logiskt uttryck så måste du tänka "tvärtom" när du sätter ihop if-begreppet. Det nedanstående borde funka mycket bättre för dig.
Jag använder själv en egen variant av en sorts captcah som brukar kallas för "honey pot". Ganska enkel. Den bygger på gamal hederlig valideringsscript (php eller javascript). Eftersom jag använder Dreamweaver, så använder jag en plugin som heter Yaromat Check Form, som alltså kollar formuläret på vanlig sätt och skickar fram felmeddelande om man skrivit fel, t.ex.
Man gör helt enkelt så att man skapar ett eller flera extra inputs och antingen fyller med text från början (value='blabla') eller har fältet helt tomt. Sen ger man dessa extra inputs en klass. I stilmallen sätter man display:none. Vanligt folk kommer alltså inte att se dessa inputs. Men spamrobotar struntar i att kolla stilmallen, utan vill gärna fylla i nåt när dom ser ett inputfält.
I validatorscriptet sätter man alltså så att t.ex. det tomma och "osynliga" inputfältet ska vara tomt, eller det andra ska vara "blabla" (eller båda), annars skickas inte formuläret.
Piffigt och fyndigt och fungerar oavsett väder. ;)
Jag använder själv en egen variant av en sorts captcah som brukar kallas för "honey pot". Ganska enkel. Den bygger på gamal hederlig valideringsscript (php eller javascript). Eftersom jag använder Dreamweaver, så använder jag en plugin som heter Yaromat Check Form, som alltså kollar formuläret på vanlig sätt och skickar fram felmeddelande om man skrivit fel, t.ex.
Man gör helt enkelt så att man skapar ett eller flera extra inputs och antingen fyller med text från början (value='blabla') eller har fältet helt tomt. Sen ger man dessa extra inputs en klass. I stilmallen sätter man display:none. Vanligt folk kommer alltså inte att se dessa inputs. Men spamrobotar struntar i att kolla stilmallen, utan vill gärna fylla i nåt när dom ser ett inputfält.
I validatorscriptet sätter man alltså så att t.ex. det tomma och "osynliga" inputfältet ska vara tomt, eller det andra ska vara "blabla" (eller båda), annars skickas inte formuläret.
Piffigt och fyndigt och fungerar oavsett väder. ;)
Måste nog säga att det låter mer användarvänligt.
Jag menar det är inte så roligt att låta besökaren hjälpa mig med spammen, det är mitt problem och inte besökarens...
Måste nog säga att det låter mer användarvänligt.
Jag menar det är inte så roligt att låta besökaren hjälpa mig med spammen, det är mitt problem och inte besökarens...
Min åsikt också. Jag blir själv irriterad många gånger när man t.ex. ska fylla i siffer- och bokstavskombinationer. Dels tar det OTROLIGT LÅNG TID (3 sekunder, hehehe), men mest för att man ofta inte ser om det t.ex. är ett litet "L" eller en etta, åsså skriver man fel och får göra om. Det har hänt att jag fått göra om 4-5 ggr på så sätt.
Dessutom enkelt för utvecklaren att fixa. Det enda är väl att spambottarna snart läser av stilmallen, å då är detta sättet kört också. Men jag har hittills inte fått spam via dom formulären, och jag har flera kolleger som kört systemet länge med samma goda resultat.
137 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe