---
title: "Spam i gästboken!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/164945-spam-i-gästboken"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ragnared"
published: "2007-09-27T07:03:37.000Z"
updated: "2007-10-01T17:11:55.000Z"
replies: 20
views: 1173
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/164945-spam-i-gästboken"
---

# Spam i gästboken!

_Sida 1 av 2._

## #1 — ragnared, 2007-09-27T07:03Z

Jag undrar hur fan man ska göra för att slippa dessa obehagliga meddelande. Jag såg på en sida att dom hade ett fält där det stod vad blir 4+5 och då skulle man fylla i 9 om man fyllde i fel siffra så skickades man inte vidare. Hur gör man en sådan grej eller vet ni ett annat sätt man kan göra på för inte få det problemet??

Permalänk: https://www.webforum.nu/p/164945

## #2 — voigtann1, 2007-09-27T07:24Z

Jag hade kanske gjort något liknande:
skapa  två random tal -\> addera dom spara dom i Session -\> Visa båda talen och be dom addera dom -\> Vid postning av gästboksinlägget kontrollera det värdet du har i inputen med session värdet -\> Om det stämmer då är det Ok att posta inlägget.

Permalänk: https://www.webforum.nu/p/2034863

## #3 — ragnared, 2007-09-27T07:38Z

Hur gör man ett sådant script ???

Är det någon som kan hjälpa mig med detta vet inte riktigt hur man ska göra.

Permalänk: https://www.webforum.nu/p/2034871

## #4 — voigtann1, 2007-09-27T08:41Z

På din "formulär sida"

```
Randomize()
sngRandomValue = Round(1 * Rnd() * 10)
sngRandomValue2 = Round(1 * Rnd() * 10)
'Spara till Session
Session("<insertName>") = CInt(sngRandomValue + sngRandomValue2) ' Spara så vi vet vilket Värde det _ska_ vara på nästa sida.
Response.Write "Vad blir <strong>" & sngRandomValue & " + " & sngRandomValue2 & "</strong>? <input type=""text"" name=""sum"">"
```

Och när du gå till "postning sidan" gör du kontrollen:

```
If Session("<insertName>") = Request.Form("sum") Then
	'Jepp han räknade rätt! gör saker
Else
	'FEL!
End If
```

 Inte testat... snabbt gjord.. kanske inte 100% men bör fungera.

Permalänk: https://www.webforum.nu/p/2034887

## #5 — ragnared, 2007-09-27T16:51Z

Vad ska jag lägga in det i min script får inte det att fungera!!!!

Jag har bifogat koderna om det är någon snäll människa som vill hjälpa mig???

Bilagor:

- [dsdsddsd.txt](https://www.webforum.nu/a/16008.txt)

Permalänk: https://www.webforum.nu/p/2034997

## #6 — voigtann1, 2007-09-28T05:58Z

Har du någon erfarenhet av ASP ragnared? Det är rätt mycket kod att läsa igenom. Börja lite själv och om du får problem så finns vi på wF här för att hjälpa dig.

Permalänk: https://www.webforum.nu/p/2035105

## #7 — voigtann1, 2007-09-28T06:10Z

Det är ändå fredag....

Efter:

```
<%If Request.Querystring("do")= "" Then%>
```

 Så lägger du in:

```
Randomize()
sngRandomValue = Round(1 * Rnd() * 10)
sngRandomValue2 = Round(1 * Rnd() * 10)
'Spara till Session
Session("<insertName>") = CInt(sngRandomValue + sngRandomValue2) ' Spara så vi vet vilket Värde det _ska_ vara på nästa sida.
```

och ändra \<insertname\> till ett namn som passa dig?

Sen placera du ut:

```
Response.Write " <input type=""text"" name=""sum"">"
```

Där du vill ha den, du skriver något liknande:

```
    <tr> 
      <td width="183" height="38"><b><font face="Verdana" size="1">Vad blir <%= sngRandomValue %> + <%= sngRandomValue2 %>?<br>
      <input type="text" name="sum" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000">
        </font>
        </b></td>
      <td width="287" height="38"><font face="Verdana" size="1">&nbsp;</font> </td>
    </tr>
    <tr>
```

(Du borde verkligen göra en CSS mall för det. Just nu har du hur mycket kod som gör din sida seg att ladda för en användare.

Och sist:

```
If Request.QueryString("do")= "jepp" Then
```

Efter den där gör du själva kontrollen:

```
If Session("<insertName>") = Request.Form("sum") Then
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas/main.mdb")

	Namn		= Request.Form("namn")
	Email		= Request.Form("email")
	Hemsida   	= Request.Form("hemsida")
	Meddelande	= Request.Form("meddelande")
	Datum		= Now

	If Hemsida <> "" Then
		If Left(Hemsida,7) = "http://" Then
			Hemsida = Hemsida
		Else
			Hemsida = "http://" & Hemsida
		End If
	End If

	SQL="Insert Into inlagg"
	SQL = SQL & "(Namn, Email, Hemsida, Meddelande, Datum)" 
	SQL = SQL & "Values('"& Namn &"','"& Email &"','"& Hemsida &"','"&Meddelande &"',#"& Datum &"#)"
	'Response.Write SQL
	Conn.Execute(SQL)

	Conn.Close
	Set Conn = Nothing
End If

Response.Redirect "gastbok.asp"
```

... något sådant borde fungera... ändra bara '\<insertName\>' till något mer passande.

Permalänk: https://www.webforum.nu/p/2035110

## #8 — ragnared, 2007-09-30T09:46Z

Jag har gjort som du visat men det blir ett fel och det är när jag fyllt i alla uppgifterna samt fyllt i tex. 1+2 att det blir 3 så kommer jag tillbaka till samma sida men det uppdateras inte ute i gästboken det jag skrivit och jag har fyllt i rätt summa oxå. Vad är det då som blir fel. sen vill jag tacka dig för all tid du lagt ner och hjälpt mig ......

Permalänk: https://www.webforum.nu/p/2035551

## #9 — ragnared, 2007-09-30T09:59Z

Här är hela scriptet igen !!!!

```
	
				 <% Response.Buffer = True %>

<!-- #include file="adovbs.inc" -->
<!-- #include file="installning.asp" -->
  
<script language="javascript">
	function checkForm( formular )
	{
		var tester = new formChecker( formular.name );
		tester.addCheck( CT_FILLED, 0, "namn", "Ditt kortnummer saknas!" );
		tester.addCheck( CT_FILLED, 0, "email", "Din kod på baksidan saknas!" );
		return tester.checkAll();
	}

	function checkForm2( formular )
	{
		var tester = new formChecker( formular.name );
		tester.addCheck( CT_FILLED, 0, "kortnr", "Ditt kortnummer saknas!" );
		tester.addCheck( CT_FILLED, 0, "kortnr1", "Din kod på baksidan saknas!" );
		return tester.checkAll();
	}
function foretagSubmit(form){
	var cType = form.options[form.selectedIndex].value
	var root = document.forms[0]
	var first = root.user1.value
	var second = root.user2.value
	document.location.href='login.asp?customerType='+cType+'&firstName='+first+'&lastName='+second
}
</script>
              
              
<%If Request.Querystring("do")= "" Then
 Randomize()
sngRandomValue = Round(1 * Rnd() * 10)
sngRandomValue2 = Round(1 * Rnd() * 10)
'Spara till Session
Session("<www>") = CInt(sngRandomValue + sngRandomValue2) ' Spara så vi vet vilket Värde det _ska_ vara på nästa sida.

%>           
  
  <center>  
  
  
<table border="0" width="482" height="79">
  <form method="post" action="gastbok.asp?do=jepp" name="gastbok"  onSubmit="return tecken()">

    <tr> 
      <td width="183" height="38"><b><font face="Verdana" size="1">Ditt namn:<br>
      <input type="text" name="namn" size="25" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000">
        </font>
        </b></td>
      <td width="287" height="38"><b><font face="Verdana" size="1">Din e-mail:</font></b><font face="Verdana" size="1"><br>
      
      <input type="text" name="email" size="25" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000">
        
        </font>
      </td>
    </tr>
    <tr> 
      <td width="183" height="38"><b><font face="Verdana" size="1">Hemsida:<br>
      
      <input type="text" name="hemsida" size="25" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000">
      
        </font>
        </b></td>
      <td width="287" height="38"><font face="Verdana" size="1"><b>Vad blir <%= sngRandomValue %> + <%= sngRandomValue2 %>?</b><br>
      <input type="text" name="sum" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000">
        </font>
        </b></td>
    </tr>
    <tr> 
      <td height="1" valign="middle" colspan="2" width="476"> <b><font face="Verdana" size="1">
		Meddelande:</font></b><font face="Verdana" size="1"><br>
       

<textarea name="Meddelande" cols="67" rows="9" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000"></textarea>

        </font>
      </td>
    </tr>
    <tr> 
      <td valign="top" colspan="2" height="1" width="476"> <font face="Verdana" size="1">
        <input type="image" src="images/knapp_skicka.gif"></font>
 </td>
    </tr>
  </form>
</table>
<table border="0" width="482" >
<%
Set Conn	= Server.CreateObject("ADODB.Connection")
Set Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas/main.mdb")

Const perSida = 4
If Request.QueryString("page") = "" then 
page = 1 
Else 
page = Request.QueryString("page") 
End If 

RecSet.CursorLocation = 3
RecSet.CacheSize = perSida

SQL = "SELECT * From inlagg Order By Datum DESC"
Recset.Open SQL, Conn, 1, 2

If RecSet.EOF Then%>
  <tr>
    <td width="476">
      ------------------------------------------------------------------------------
    </td>
  </tr>
  <tr>
    <td width="476"><i><font face="Verdana" size="1">Inget har 
	skrivit i gästboken.</font></i></td>
  </tr>

<%
Else

RecSet.MoveFirst 
RecSet.PageSize = perSida

TotalPages = RecSet.PageCount 
RecSet.AbsolutePage = page 

Count = 0 
Do While Not RecSet.EOF And Count < RecSet.PageSize 
%>

  <tr>
    <td width="476">
      ------------------------------------------------------------------------------
    </td>
  </tr>
<%If Recset("Email") <> "" Then%>
  <tr>
    <td width="476">
      <b>
      <font face="Verdana" size="1">
      Inskickat:
      </font>
 </b>
      <font face="Verdana" size="1">
      <%=FormatDateTime(Recset("Datum"),2)%> 
      av <b><a href="mailto:<%=Recset("Email")%>" onfocus=this.blur()><%=Recset("Namn")%></a></b>
      </font>
    </td>
  </tr>

<%Else%>

  <tr>
    <td width="476">

      <b>
      <font face="Verdana" size="1">

      Inskickat:
      </font>
 </b> 
      <font face="Verdana" size="1">

 <%=FormatDateTime(Recset("Datum"),2)%> 
      av <b><%=Recset("Namn")%></b>
      </font>
    </td>
  </tr>

<%End If%>
  <tr>
    <td width="476">
      <font face="Verdana" size="1">
      <%=Replace(Server.HTMLEncode(RecSet("Meddelande")), vbCrLf, "<br>" )%>
      </font>
    </td>
  </tr>
 <tr>
    <td width="476">
      <font face="Verdana" size="1">
      <%If RecSet("Hemsida") <> "" Then%>

        <a href="<%=RecSet("Hemsida")%>" target="_blank" onfocus="this.blur()"> <b>
		Hemsida:</b> </a>
      <%End If%>
      </font>
    </td>
  </tr>
		
<%
Count = Count + 1 
Recset.MoveNext
Loop
Recset.Close
Conn.Close

Set Recset = Nothing
Set Conn = Nothing

End If
%>

  <tr>
    <td width="476">
      ------------------------------------------------------------------------------<font face="Verdana" size="1"><br></font></td>
  </tr>
  <tr>
     <td valign="top" width="476">
        <font size="1">
        <font face="Verdana">
        <% 
          If TotalPages <> 1 Then
          If (Int(page)) <> 1 Then
          %>
        <a href="gastbok.asp?page=<%=(Int(page)-1)%>" onfocus="this.blur()"><b>
		« Bakåt</b></a>
          <%Else%>
          
          <%End If%>
          <%
          For Pages = 1 To TotalPages 
          %> 
          <%If (Int(Pages)) = (Int(page)) Then%><b><font color="#000000"><%=Pages%></font></b> <%Else%><a href="gastbok.asp?page=<%=Pages%>" onfocus="this.blur()"><b><%=Pages%></b></a> <%End If%><%Next%> 
          <%End If%> 

          <%
          If (Int(page)) <> (Int(TotalPages)) AND Count > 0 Then
          %>
          <a href="gastbok.asp?page=<%=(Int(page)+1)%>" onfocus="this.blur()"><b>
		Framåt »</b></a>
          <%Else%>
          
          <%End If%>
          
        </font></font>
     </td>
   </tr>
  </table>

<%End If%>

<%If Request.QueryString("do")= "jepp" Then
If Session("<www>") = Request.Form("sum") Then
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas/main.mdb")

	Namn		= Request.Form("namn")
	Email		= Request.Form("email")
	Hemsida   	= Request.Form("hemsida")
	Meddelande	= Request.Form("meddelande")
	Datum		= Now

	If Hemsida <> "" Then
		If Left(Hemsida,7) = "http://" Then
			Hemsida = Hemsida
		Else
			Hemsida = "http://" & Hemsida
		End If
	End If

	SQL="Insert Into inlagg"
	SQL = SQL & "(Namn, Email, Hemsida, Meddelande, Datum)" 
	SQL = SQL & "Values('"& Namn &"','"& Email &"','"& Hemsida &"','"&Meddelande &"',#"& Datum &"#)"
	'Response.Write SQL
	Conn.Execute(SQL)

	Conn.Close
	Set Conn = Nothing
End If

Response.Redirect "gastbok.asp"
End If%>
```

Permalänk: https://www.webforum.nu/p/2035556

## #10 — voigtann1, 2007-09-30T10:17Z

har inte kollat igenom din kod (kan kanske göra det ikväll) men \<\> i din session namn behöver du inte ha... var mer att du skulle ändra \<insert\> till = www vet inte om det är det som är felet med... återkommer ikväll om du inte har löst det.

Permalänk: https://www.webforum.nu/p/2035558

## #11 — ragnared, 2007-09-30T10:24Z

I vilken av koderna räkna den ut att det är rätt siffra jag fyller i ?

Permalänk: https://www.webforum.nu/p/2035561

## #12 — ragnared, 2007-09-30T11:50Z

Nu har jag ändrat \<\> så det bara står sand i den texten inte \<www\> men ändå fungerar det inte....

Permalänk: https://www.webforum.nu/p/2035572

## #13 — ragnared, 2007-09-30T11:52Z

\<%If Request.Querystring("do")= "" Then
 Randomize()
sngRandomValue = Round(1 \* Rnd() \* 10)
sngRandomValue2 = Round(1 \* Rnd() \* 10)
'Spara till Session
Session("sand") = CInt(sngRandomValue + sngRandomValue2) ' Spara så vi vet vilket Värde det \_ska\_ vara på nästa sida.

\<b\>Vad blir \<%= sngRandomValue %\> + \<%= sngRandomValue2 %\>?\</b\>\<br\>
      \<input type="text" name="sum" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000"\>

\<%If Request.QueryString("do")= "jepp" Then
If Session("sand") = Request.Form("sum") Then
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath("databas/main.mdb")

Permalänk: https://www.webforum.nu/p/2035573

## #14 — ragnared, 2007-09-30T13:19Z

får inte det att fungera. snyft

Permalänk: https://www.webforum.nu/p/2035591

## #15 — voigtann1, 2007-09-30T14:38Z

Vad händer om du skriver efter do = jepp:

Response.Write Session("sand") & "\<br\>" & Request.form("sum")
Response.End
Kontrollera att Sessin och sum är samma värde..

Du får helt enkelt börja felsöka din kod. Du vet att felet är mellan första sidan och när du ska spara datan i databasen. Gör små moment och ta response.End för att se om datan du vill ha verkligen blir det.

Permalänk: https://www.webforum.nu/p/2035602

## #16 — ragnared, 2007-09-30T16:50Z

vad menar du med att session och sum är samma värde ? jag provade att lägga in det du skrev men funka inte det heller. Jag har fått sidan till att fungera som du skrev från början men den slår i från hela tiden tex om det står 3+1  och jag skriver 4 så blir det inget inlägg i gästboken så det är något mellan den kombinationen.  Att den inte känner av om summan är riktig ?

Permalänk: https://www.webforum.nu/p/2035633

## #17 — voigtann1, 2007-09-30T21:26Z

Kolla om Sessionen finns... som jag skrev i mitt förra inlägg...

efter
If Request.QueryString("do")= "jepp" Then

skriver du det jag skrev i inlägget ovan.

Permalänk: https://www.webforum.nu/p/2035716

## #18 — ragnared, 2007-10-01T04:06Z

Jag kommer till gästboken men den är helt tom förutom att det står 5 och sedan under 5. men inget annat står på sidan. jag fyllde i uppgifterna  på sidan och vad blir 0+5 var frågan då svarade jag 5 om det har med varandra att göra annars vet jag inte vad det är för fel som jag gör.

```
              
<%If Request.Querystring("do")= "" Then
Randomize()
sngRandomValue = Round(1 * Rnd() * 10)
sngRandomValue2 = Round(1 * Rnd() * 10)
'Spara till Session
Session("sand") = CInt(sngRandomValue + sngRandomValue2) ' Spara så vi vet vilket Värde det _ska_ vara på nästa sida.
%>

<b>Vad blir <%= sngRandomValue %> + <%= sngRandomValue2 %>?<br>
      <input type="text" name="sum" style="font-family: Verdana; font-size: 8pt; border: 1 solid #000000">
        </b>

<%If Request.QueryString("do")= "jepp" Then
Response.Write Session("sand") & "<br>" & Request.form("sum")
Response.End
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas/main.mdb")

	Namn		= Request.Form("namn")
	Email		= Request.Form("email")
	Hemsida   	= Request.Form("hemsida")
	Meddelande	= Request.Form("meddelande")
	Datum		= Now

	If Hemsida <> "" Then
		If Left(Hemsida,7) = "http://" Then
			Hemsida = Hemsida
		Else
			Hemsida = "http://" & Hemsida
		End If

End If
	SQL="Insert Into inlagg"
	SQL = SQL & "(Namn, Email, Hemsida, Meddelande, Datum)" 
	SQL = SQL & "Values('"& Namn &"','"& Email &"','"& Hemsida &"','"&Meddelande &"',#"& Datum &"#)"
	'Response.Write SQL
	Conn.Execute(SQL)

	Conn.Close
	Set Conn = Nothing

Response.Redirect "gastbok.asp"

End If%>
```

Permalänk: https://www.webforum.nu/p/2035733

## #19 — voigtann1, 2007-10-01T05:02Z

```
<%
If Request.QueryString("do")= "jepp" Then
	If CStr(Session("sand") & "") = CStr(Request.form("sum") & "") Then
		Set Conn = Server.CreateObject("ADODB.Connection")
		Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas/main.mdb")

		Namn		= Request.Form("namn")
		Email		= Request.Form("email")
		Hemsida   	= Request.Form("hemsida")
		Meddelande	= Request.Form("meddelande")
		Datum		= Now

		If Hemsida <> "" Then
			If Left(Hemsida,7) = "http://" Then
				Hemsida = Hemsida
			Else
				Hemsida = "http://" & Hemsida
			End If
		End If
		
		SQL="Insert Into inlagg"
		SQL = SQL & "(Namn, Email, Hemsida, Meddelande, Datum)" 
		SQL = SQL & "Values('"& Namn &"','"& Email &"','"& Hemsida &"','"&Meddelande &"',#"& Datum &"#)"
		'Response.Write SQL
		Conn.Execute(SQL)

		Conn.Close
		Set Conn = Nothing
	End If
	Response.Redirect "gastbok.asp"

End If%>
```

Permalänk: https://www.webforum.nu/p/2035737

## #20 — ragnared, 2007-10-01T16:00Z

Tack så mycket !!!!

Tack så himla mycket voigtann1 nu funkar det. Det är skönt att det finns så snälla människor på webforum.nu. Utan er så hade inte många som mig kommit så långt... Ha det gått och tack ännu en gång....

Permalänk: https://www.webforum.nu/p/2035851

---

Tråden på webben: https://www.webforum.nu/amne/asp/164945-spam-i-gästboken  
Nästa sida: https://www.webforum.nu/amne/asp/164945-spam-i-gästboken/page2.md
