WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Gästbok (https://www.wn.se/forum/showthread.php?t=36721)

robinb0bin 2009-05-09 02:26

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!

CotopaXi 2009-05-09 03:12

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.

robinb0bin 2009-05-09 03:42

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
%>

CotopaXi 2009-05-09 04:07

Kod:

<tr>
<td><input type="checkbox" name="checkboxen" value="dude" /></td>
</tr>
<tr>
<td> Hemsida:<br>
<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:<br><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


'Anti-Spam Check
if request.form("checkboxen") <> "dude" then
response.redirect "no_access.asp"
end if


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
%>


robinb0bin 2009-05-09 04:28

TAAACK som f*n för hjälpen!

WeaZear 2009-05-09 12:19

En checkbox lär inte hjälpa så mycket, fixa en captch image istället. Har du ASPJpeg på servern?

Jimpsson 2009-05-09 12:31

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.

tartareandesire 2009-05-09 14:12

Citat:

Originally posted by WeaZear@May 9 2009, 12:19
En checkbox lär inte hjälpa så mycket, fixa en captch image istället. Har du ASPJpeg på servern?

Tror det kan hjälpa lite grann, allting som försvårar tar bort åtminstone en del bottar. Annars funkar en simpel fråga bra också.

taz76 2009-05-09 18:00

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

crazzy 2009-05-09 18:39

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. :)


Alla tider är GMT +2. Klockan är nu 15:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson