Spam i gæstebog
Hej,Jeg har prøvet at undgå spam i min gæstebog ved at lave en "kode" som man skal taste ind samt lave et skujlt felt, men det virker ikke på min side. Jeg har det faktisk på 2 sites. På det ene site virker det fint, på det andet kommer der stadig spam.
Hvad kan jeg mon så gøre?
Koden er :
<%
'## Initialisering start
dbsti = "db/"
'## Initialisering slut
Dato = Right(date,4) & Mid(date,4,2) & Left(date,2)
Kommentar = Trim(Request.Form("Kommentar"))
Navn = Trim(Request.Form("navn"))
Kode = Trim(Request.Form("kode"))
IP = Request.ServerVariables("REMOTE_ADDR")
strMessage = Trim(Request.Form("Message"))
If Not Len(strMessage) = 0 Then
Response.Redirect "blokeret.asp"
End If
Kommentar = Replace(Kommentar,"'","'")
Kommentar = Replace(Kommentar,"<","<")
Kommentar = Replace(Kommentar,">",">")
Navn = Replace(Navn,"'","'")
Navn = Replace(Navn,"<","")
Navn = Replace(Navn,">","")
If (Navn <> "") And (Kommentar <> "") And (Kode = "Sannejam") Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(dbsti & "database.mdb") & ";PWD=kodeord"
strSQL = "INSERT INTO Gaestebog (Dato, Kommentar, Navn, IP) "
strSQL = strSQL & "VALUES ('" & Dato & "','" & Kommentar & "','" & Navn & "', '" & IP & "')"
'Response.Write strSQL & "<br><br>"
Conn.Execute strSQL
Conn.Close
Set Conn = Nothing
End If
Response.Redirect "forside.asp?a=kommentar"
%>
----------------- OG ----------------------------
<font face="verdana" size="5" color="<%=TitleColor%>"><b><img src="pics/stor-pil.gif" width="29" height="19">Gæstebog</b></font><br>
<font face="verdana" color="<%=TextColor%>" style="font-size: 12px;">
<br>
<%
If b = "send" Then
Response.Write "» <a href=forside.asp?a=kommentar>Vis kommentarer</a><br><br>"
%>
<form action="ny_kommentar.asp" method="post">
<textarea cols="50" rows="5" name="kommentar"></textarea><br>
Navn: <input type="text" name="navn" size="20" maxlength="30"><br>
<span class="ikkese">
<label for="t22">Message: </label>
<textarea id="t22" name="Message" rows="2" cols="30"><%=strMessage%></textarea>
</span><br>
For at undgå robot spam, bedes du nedenfor skrive koden "Sannejam".<br>
Kode: <input type="text" name="kode" size="20" maxlength="30"><br>
<input type="submit" value="Send kommentar!"><br><br>
</form>
<br><br><br><br><br><br><br><br>
<%
Else
'Session("gbog_start") = 0
If Request.QueryString("start") <> "" Then
Start = Request.QueryString("start")
Session("gbog_start") = Start
Else
Start = Session("gbog_start")
End If
Set FS = Server.CreateObject("Scripting.FileSystemObject")
Set F = FS.OpenTextFile(Server.MapPath("db/gaestebog.txt"), 1)
Temp = F.ReadAll
Temp = Split(Temp,"<1>")
MaxVisninger = CInt("0" & Temp(0))
Tekst = Temp(1)
Tekst = Replace(Tekst,vbCrLf,"<br>")
F.Close
Set F = Nothing
Set FS = Nothing
Response.Write Tekst & "<br><br>"
Response.Write "<li><a href=forside.asp?a=kommentar&b=send><b>Send en kommentar</b></a><br>"
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(dbsti & "divajam.mdb") & ";PWD=diva03jam"
strSQL = "SELECT * FROM Gaestebog ORDER BY Dato Desc;"
RS.Open strSQL, Conn, 3
Response.Write "<br>"
If Start <> "" Then
tmpStart = CInt(Start)
For i=1 To tmpStart
If Not RS.BoF And Not RS.EoF Then
RS.MoveNext
End If
Next
Else
tmpStart = 0
End If
If Start <> "" Then
If tmpStart >= 1 Then
Response.Write "<a href=forside.asp?a=kommentar&start=" & Start-MaxVisninger & ">Forrige kommentarer..</a><br><br>"
End If
End If
i=1
Do While (Not RS.BoF And Not RS.EoF) And i <= MaxVisninger
Dato = KonverterDato(Right(RS("Dato"),2) & "-" & Mid(RS("Dato"),5,2) & "-" & Left(RS("Dato"),4))
Kommentar = RS("Kommentar")
Response.Write "<b>" & RS("Navn") & ", " & Dato & " " & Left(RS("Dato"),4) & "</b><br>"
Response.Write Kommentar & "<br><br>"
RS.MoveNext
i=i+1
Loop
'Response.Write tmpStart & "+" & MaxVisninger & "<=" & RS.RecordCount & "<br>"
If tmpStart+MaxVisninger < RS.RecordCount Then
Response.Write "<a href=forside.asp?a=kommentar&start=" & Start+MaxVisninger & ">Flere kommentarer..</a><br><br>"
End If
Conn.Close
Set RS = Nothing
End If
%>
