Problemer med reklame bots i gæstebog
Hej jeg har lavet en simpel gæstebog med asp og vbscript som kører over en mySQL db. Jeg har prøvet at fjerne bots'ne ved at lave noget kode som tjekker at felterne er udfyldt og email er i det rigtige format, samt jeg har lavet et hidden field som sender en tekst videre til den egentlige side som tilføjer beskeden til db'en sådan at bots'ne ikke blot kan komme direkte ind på den side, de skal altså igennem den kode som tjekker felterne.Det har hjulpet mig af med en del af bots'ne men ikke dem alle hvad kan jeg gøre?
her er koden hvor man skriver:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Livsstilsterapeut</title>
<link href="Css/standard.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">
function checkForm(f){
var txt = "",fjl;
var regexp = /^\w[\w\.\-]*@\w[\w\-]*\.\w{2}\w*$/i;
for(i=0;f.elements.length>i;i++){
fld = f.elements[i]
if ((fld.tagName=='TEXTAREA'||fld.type=="text")&&fld.value==fld.defaultValue){
txt+="\n\t"+fld.name;
if(!fjl)fjl = fld;
}else if (fld.name.toLowerCase().indexOf("mail")>-1){
if (!regexp.test(fld.value))txt+="\n\tE-mailen er ikke gyldig";
if(!fjl)fjl = fld;
}
}
if(txt!=""){
txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
alert(txt);
fjl.select();
fjl.focus()
return false;
}
return true;
}
</script>
</head>
<body>
<!-- MENU --->
<div align="center">
<div class="menu">
<br><br><br><br><br><br>
<a href="forside.asp"><img border="0px" src="grafik/forside.gif" onmouseover="src='grafik/forsideover.gif'" onmouseout="src='grafik/forside.gif'"></a> <a href="fodterapi.html"><img border="0px" src="grafik/FT.gif" onmouseover="src='grafik/FTover.gif'" onmouseout="src='grafik/FT.gif'"></a> <a href="tft.html"><img border="0px" src="grafik/TFT.gif" onmouseover="src='grafik/TFTover.gif'" onmouseout="src='grafik/TFT.gif'"></a> <a href="lc.html"><img border="0px" src="grafik/LC.gif" onmouseover="src='grafik/LCover.gif'" onmouseout="src='grafik/LC.gif'"></a> <a href="healing.html"><img border="0px" src="grafik/Healing.gif" onmouseover="src='grafik/Healingover.gif'" onmouseout="src='grafik/Healing.gif'"></a> <a href="kontakt.html"><img border="0px" src="grafik/Kontakt.gif" onmouseover="src='grafik/Kontaktover.gif'" onmouseout="src='grafik/Kontakt.gif'"></a>
</div>
</div>
<div align="center">
<!-- INDHOLD --->
<div class="indhold">
<!-- UNDERMENU --->
<div class="undermenu">
<a href="kontakt.html"><img border="0px" src="grafik/underkontakt.gif" onmouseover="src='grafik/underkontaktover.gif'" onmouseout="src='grafik/underkontakt.gif'"></a><br>
<a href="klient.asp"><img border="0px" src="grafik/tftcase.gif" onmouseover="src='grafik/tftcaseover.gif'" onmouseout="src='grafik/tftcase.gif'"></a><br>
<a href="gb.asp"><img border="0px" src="grafik/gaest.gif" onmouseover="src='grafik/gaestover.gif'" onmouseout="src='grafik/gaest.gif'"></a><br>
<a href="hvem.html"><img border="0px" src="grafik/hvem.gif" onmouseover="src='grafik/hvemover.gif'" onmouseout="src='grafik/hvem.gif'"></a>
</div>
<!-- UNDERMENU SLUT --->
<div class="tekst">
<span class="overoverskrift">Gæstebog</span><br><br>
<form action="add.asp" method="post" id="Form" onsubmit="return checkForm(this);">
<table>
<tr><td>
Navn: </td><td><input type="text" tabindex="1" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20" id="formnavn" name="Dit navn" style="border:2px #E0EBFF solid;"><br>
</td></tr><tr><td>
Mail: </td><td><input type="text" size="20" tabindex="2" id="formvel" name="Din email" style="border:2px #E0EBFF solid;" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"><br>
</td></tr><tr><td valign="top">
Besked: </td><td><textarea rows="5" cols="30" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" id="formbesked" tabindex="3" wrap="virtual" name="Din besked" style="border:2px #E0EBFF solid;"></textarea><br>
</td></tr><tr><td colspan="2" align="center">
<input type="hidden" value="fisk" name="fisk" id="formfisk">
<input type="submit" id="submitbtn" value="Send beskeden" tabindex="4" style="border:2px #E0EBFF solid;background-color:#E0EBFF;"></td></tr>
</table>
</form>
<br><br><br><br><br><br><br><br><br><br><br><br>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=livsterapeut_dk; UID=livsterapeut_dk; PWD=mvsytaL4;"
%>
<%
SQL = "SELECT *, DATE_FORMAT(Dato, '%d/%m-%Y') AS FDato FROM `GB` ORDER BY GID DESC LIMIT 15"
Set RS = objConn.Execute(SQL)
If RS.EOF then
Response.write "Der er endnu ingen indlæg i gæstebogen, så du kan blive den første!"
Else
Do While NOT RS.EOF
%>
<div class="caseoverskrift"><%=RS("Navn")%> | <%=RS("Mail")%></div><span style="float:right;position:relative;top:-16px;font-size:12px;font-weight:bold;"><%=RS("FDato")%></span>
<%=RS("Besked")%>
<br><br>
<%
RS.MoveNext
Loop
objConn.Close
end if
%>
</div>
</div>
</body>
</html>
Og her den der egentlig tilføjer beskeden.
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=livsterapeut_dk; UID=livsterapeut_dk; PWD=mvsytaL4;"
%>
<%
tjekker = request.form("fisk")
if tjekker = "fisk" then
beskedtekst = replace(request.form("Din besked"),VbCrLf,"<br>")
retbeskedtekst = replace(beskedtekst,"'","'")
retnavn = replace(request.form("Dit navn"),"'","'")
retmail = replace(request.form("Din email"),"'","'")
strSQL2 = "Insert into GB (GID, Navn, Mail, Dato, Besked) values(NULL, '" & retnavn & "', '" & retmail & "',CURDATE(), '" & retbeskedtekst & "')"
objConn.Execute(strSQL2)
objConn.Close
Set objConn = Nothing
Response.Redirect "gb.asp"
else
Response.Redirect "index.html"
end if
%>
Jeg er stadig lidt ny til det her så jeg mangler lige nogle tips.