![]() |
Hej,
Våran gästbok har råkat ut för en spambot. Jag försökte använda detta för att banna hans ip: <% Dim sBlockedIP sBlockedIP = Request.ServerVariables("REMOTE_ADDR") 'check if the IP is the one that is blocked If sBlockedIP = "78.46.66.178" Then 'if IP address is banned then redirect to no_access.asp Response.Redirect "no_access.asp" End If %> Det fungerade inte så bra och han kom in igen å körde på som aldrig förr, viagra etc etc. Jag skulle behöva hjälp av nån som kan förklara lite lätt hur jag fixar en checkbox, typ verifieringsbox till gästboken, så man måste bocka i den innan man kan skicka iväg ett meddelande. Behöver absolut inte vara nått avancerat, bara en checkbox. Är riktigt kass på kodning, inte jag som gjort sidan och han som gjort den svarar aldrig, så om nån orkar förklara hur jag "kopplar ihop" checkboxen med själva scriptet. Förstår ni? :D Tack på förhand! |
på formulärsidan
... ... <input type="checkbox" name="checkboxen" value="human" /> ... ... på sidan du sparar inlägget med if request.form("checkboxen") <> "human" then response.redirect "no_access.asp" else .... ... ... end if hör av dig om du behöver mera hjälp. |
Själva formulärsidan och sidan jag sparar inlägget på är detsamma? Så nu när jag lagt in det där, så kommer jag direkt till no_access.asp-filen. Vad kan det bero på?
Plockar lite av koden av gästboken och pastar här (Fetmarkerade är din kod jag la in): <tr> <td><input type="checkbox" name="checkboxen" value="dude" /></td> </tr> <tr> <td> Hemsida: <input name="Hemsida" size="60" style="font-family:trebuchet ms, verdana;font-size:9px;border:#000000 solid 1px;background-color:#d5d6d5;;"> </td> </tr> <tr> <td class="guess"> Inlägg: <textarea name="Inlagg" cols="80" rows="5" style="font-family:trebuchet ms, verdana;font-size:9px;border:#000000 solid 1px;background-color:#d5d6d5;;" ></textarea> </td> </tr> <tr> <td> <input type="submit" value="Skicka" name="B1" style="font-family:trebuchet ms, verdana;font-size:9px;width: 110;border:#000000 solid 1px;color:#666666; background-color:#d5d6d5;"> </td> </tr> </form> </table> <% 'Lägger till posterna If Request.Querystring("visa") = "spara" AND len(Request.Form("Inlagg")) > 0 then %> <% strNamn = SafeSQL(Request.Form("Namn")) strEpost = SafeSQL(Request.Form("Epost")) strHemsida = SafeSQL(Request.Form("Hemsida")) strDatum = now() strInlagg = SafeSQL(Request.Form("Inlagg")) strIP = Request.ServerVariables("REMOTE_ADDR") If Len(strHemsida) > 0 AND Instr(strHemsida,"http://") = 0 then strHemsida = "http://" & strHemsida End If %> <% If InStr(strInlagg, "<a href") Then Response.Redirect("67.asp") Elseif InStr(strInlagg, "[url") Then Response.Redirect("67.asp") Elseif InStr(strInlagg, "[URL") Then Response.Redirect("67.asp") Elseif InStr(strInlagg, "http://") Then Response.Redirect("67.asp") Else objConn.Execute("INSERT INTO gastbok(Namn,Epost,Hemsida,Datum,Inlagg,IP) VALUES('" & strNamn & "','" & strEpost & "','" & strHemsida & "','" & strDatum & "','" & strInlagg & "','" & strIP & "')") Response.Redirect strSidnamn End If %> <% End If ' Stänger och förstör alla objekt objRS.Close : Set objRS = nothing objConn.Close : Set objConn = nothing %> <% if request.form("checkboxen") <> "dude" then response.redirect "no_access.asp" else end if %> |
Kod:
<tr> |
TAAACK som f*n för hjälpen!
|
En checkbox lär inte hjälpa så mycket, fixa en captch image istället. Har du ASPJpeg på servern?
|
http://www.captcha.net/
Där har du en helt okej captcha som är rätt enkel att integrera. http://akismet.com/ Är ett API du kan använda och jag tror det funkar så att du skickar inlägget till deras server och så får du svar om det klassas som spam eller inte. |
Citat:
|
Jag har sett en sorts captcha på en del sidor där man får svara på en liten mattefråga.. som t.ex 4+2 :P
|
På nån mindre sida jag gjorde om för ett tag sedan körde jag med: "Tredje sista bokstaven i svenska alfabetet?". Är ju bara vi som har det tecknet så alla bottar försvann. :)
|
Annars kommer man rätt långt med bara en lista på förbjudna ord som man skannar meddelandet med. Liknande lösningar är det jag föredrar.
|
Jag har använt mig av en checkbox som användaren ska kryssa i för att bevisa att han/hon är människa. På senare tid har jag dock märkt att spambotar börjat "förstå" sig på detta och kommit igenom spärren. Nuu har jag börjat med en bild med text på.
Bilden byts dock aldrig ut, utan den text som står där är det value på input:en som krävs för att köra inmatningen till databasen. <% correctcode = "eFnn5" 'Den text som står på bilden input_spam = Request.Form("antispam") If input_spam = correctcode Then ... ... ... Else Response.Redirect formularsidan End If %> |
Jag har kört en mattefråga som aldrig ändras och ingen bot har klarat av den ännu efter minst ett halvår.
|
En ordentlig captcha är att föredra i alla lägen, uppdatering av formulär, gästböcker, kontaktformulär osv...
Och en Captcha skall alltid för att vara ordentligt säker, innehålla a-ö 1-9 i alla dess olika kombinationer varje gång en användare skall posta någonting eller liknande, dessutom så skall det vara lite svårläst men ändå så att man precis kan läsa det, för det finns botar som läser av bilder också så länge dom är väldigt lättlästa.. |
Citat:
Citat:
Så länge man inte har en stor sajt som blir ett specifikt mål som bottarna riktar sig mot så är individuella lösningar oftast mycket effektiva enligt min erfarenhet. Så att säga att det alltid vore rätt med captcha håller jag inte med om. Ett annat tips är att inte använda uppenbara name-attribut, t.ex. email för epost utan använda just t.ex. epost eller något ännu mer kryptiskt för att robotarna inte automatiskt ska veta vad som ska användas - får du sedan något helt annat än en epostadress i det fältet så är sannolikheten stor att det handlar om en bot. |
Jag håller med om att det är bättre att det är något som är så enkelt som möjligt för användarna, i alla fall så länge man inte har stora problem med spam. Någon enkel fråga som är lätt för människor att besvara, men svårt för en bot som inte anstränger sig extra för att posta i just ditt formulär. Kan vara något i still med "Vilken färg har en brandbil?", "Vad blir två plus två?", "Hur många fingrar har de flesta på en hand?", "Vad heter Sveriges huvudstad?". Tänk på att kolla svaret case-insensitve.
Tänk också på att captcha i form av bilder kan bli problem för synskadade. Man skulle även kunna spela upp något ljud (kanske läsa upp en fråga eller säga något ord man ska skriva), men det blir istället problem för hörselskadade, så det skulle kunna vara som ett alternativ till dem som inte klarar bilden. |
jag tycker att re-captchas produkter är otroligt bra, lätt att läsa och blockerar bra.
|
Citat:
|
Eller som jag brukar rekommendera.
Akismet.com Med vänlig hälsning Aerpe |
Citat:
|
Allt snack om captcha hit och frågor dit ger jag inte mycket för.
Det ska vara så enkelt för användaren som möjligt. På Levonline har vi ett kontaktformulär där det givetvis kom in mycket spam. Jag bytte namn på input-fälten så att det där användaren ska fylla i sitt namn nu heter "email" i koden och så gav jag ett helt orelaterat namn till e-postfältet. Om någon skriver in @ i fältet "email" så räknas det som en bot och vi stoppar formuläret med ett meddelande om att man inte får skriva @ i sitt namn. Helt osynligt för användaren och extremt enkelt att implementera. |
En väldigt enkel lösning är att ställa en enkel mattefråga som användaren får svara på. Sedan lägger man dit ett javascript som räknar ut rätt svar på mattefrågan och skriver dit svaret självt, samt döljer hela frågan. Användare som har javascript märker ingenting, de som inte har javascript får svara på frågan. Botar tolkar i regel inte javascript så de fastnar..
(Frågan i sig kan vara konstant om man nu vill det) |
Citat:
Det visar att det finns sätt att stoppa spambotar som även är bra för användarna. Ge felmeddelanden som: "Ditt namn får enbart bestå av A-Ö" "Du måste ange både för och efternamn" "Din E-postadress är inte giltig" ...etc |
Citat:
|
Själv brukar jag köra med varianten att ha ett fält som heter email men är av typen hidden. Finns det något innehåll i det fältet så sparas inte inlägget. Jag visar inget felmeddelande heller i det läget då det är onödigt. Har fungerat bra hittils.
|
Citat:
|
Citat:
I övrigt tror jag att majoriteten av spamrobotar kör med wget eller liknande och postar direkt mot sidorna, det är iaf vad jag misstänker. Någon som har insikt i hur dessa spamrobotar fungerar och vågar berätta om det? |
Citat:
Enkelt API också så borde inte vara så svårt att porta till ASP. |
Alla tider är GMT +2. Klockan är nu 12:08. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson