webForumDet fria alternativet

Få bort spam...

ASPur ASP

19 svar · 1 320 visningar · startad av Wave_Glistening

Medlem sedan juni 20069 inlägg
Frågan#1

Hej,

Min gästbok mörkläggs av oerhört mycket spam per dag, och jag har inga
kunskaper alls inom ASP hur man bygger en kod som skulle kunna förhindra detta.

Finns det kanske några färdiga koder redan som man bara kan lägga in i ens
gästboks-kodfil direkt, utan att behöva använda databasen och mySQL?
För dem har jag tyvärr inte så mycket tillgång till eftersom jag bara hyr utrymme hos en bekant.

Och vilket av dessa skulle ni rekommendera, bildkod-verifiering eller ord-blockering?

Skulle någon vilja hjälpa mig?

Medlem sedan dec. 20025 871 inlägg
#2

Om din sida inte är jättestor kan du ju göra en enkel verifiering bara, som en vanlig spambot inte fattar, exempelvis "första bokstaven på veckodagen måndag" eller något liknande.

Jag har lade in nåt liknande i min blogg sedan det dök upp lite spam här och där, och sedan dess har jag sluppit det. :)

Medlem sedan juni 20069 inlägg
#3

Jo, någonting liknande hade varit bra att ha. Tyvärr vet jag inte heller hur man fixar ett sådant.
Kan du svara på möjligtvis om det går att få tag på en guide till detta, och där man får veta så
var den nya koden skall sättas in?

Medlem sedan dec. 20025 871 inlägg
#4

Tror inte det finns någon guide som beskriver hur man gör, eftersom det är så pass enkelt. Skapa bara ett formulärfält och välj någon lämplig och enkel fråga (den behöver inte bytas ofta) och kolla om besökaren har skrivit in rätt svar innan du sparar ditt gästboksinlägg. Funkar ungefär som vanlig validering.

Medlem sedan juli 200412 913 inlägg
#5

jag har just provat att blocka:

"a href"

för mycket spam är länkar hit och dit, nu kan dom inte lägga in sådant i min :) verkar fungera bra...

Medlem sedan juni 20069 inlägg
#6

LeonL skrev:

Tror inte det finns någon guide som beskriver hur man gör, eftersom det är så pass enkelt. Skapa bara ett formulärfält och välj någon lämplig och enkel fråga

Hur ska jag göra då när jag inte ens kan det lilla enkla? :) Men jag har ju
redan faktiskt ett formulärfält där man får skriva in namn, kommentar och
hemsida. Är det inte något sånt du menade?

Danny skrev:

jag har just provat att blocka:

"a href"

Skulle du kunna skriva något exempel på hur din blockerings-kod ser ut,
och var du har placerat den?

Medlem sedan mars 20025 907 inlägg
#7

Wave_Glistening skrev:

Och vilket av dessa skulle ni rekommendera, bildkod-verifiering eller ord-blockering?

Skulle någon vilja hjälpa mig?

Bildkod-verifiering alla gånger! Googla lite på captcha och asp så hittar du säkerligen ett script att utgå från.

Medlem sedan dec. 20041 043 inlägg
#8

Danny skrev:

jag har just provat att blocka:

"a href"

för mycket spam är länkar hit och dit, nu kan dom inte lägga in sådant i min :) verkar fungera bra...

Hade en klasskompis som heter Aref, är han inblandad ? §e

Medlem sedan juli 200412 913 inlägg
#9

Wave_Glistening skrev:

Skulle du kunna skriva något exempel på hur din blockerings-kod ser ut,
och var du har placerat den?

kolla här:
http://www.webforum.nu/showthread.php?p=1177937#post1177937
jag skrev bara "a href" (tillsammans med mina andra ord som t ex viagra) istället för "poker" och "casino"

Medlem sedan juli 200412 913 inlägg
#10

Spook skrev:

Hade en klasskompis som heter Aref, är han inblandad ? §e

ja... han ska lägga sig i överallt, så nu får han inte vara med längre! :birp

Medlem sedan juni 20069 inlägg
#11

Danny skrev:

kolla här:
http://www.webforum.nu/showthread.php?p=1177937#post1177937
jag skrev bara "a href" (tillsammans med mina andra ord som t ex viagra) istället för "poker" och "casino"

Det är detta som skulle läggas in i koden va?

Function IsSpam(meddelande)
Dim objRegExp, words
words = "poker|casino"

Set objRegExp = New RegExp
objRegExp.Pattern=words
IsSpam = objRegExp.Test(meddelande)
Set objRegExp = Nothing

End Function

' Kör en kontroll och se om det finns poker eller Casino, om inte så gör inlägget.
if isSpam(request.form("meddelande")) = false then

Men var jag än klistrar in så funkar aldrig gästboken sen, min kod ser ut så här nu, kan du svara på var det nya ska klistras in:

strFelmess = session("felmess")
if strFelmess <> "" then session.abandon

set objFSO = server.createObject("scripting.filesystemobject")
If request.Form("act") = "insert" then

         strNamn	= request.Form("namn")
	strMess	= request.Form("mess")
	strHttp = request.Form("http")
	strEmail = request.Form("email")
	strIP	= request.ServerVariables("REMOTE_ADDR")
	strReferer = request.servervariables("http_referer")
	dtmNow	= now()

	if strHttp = "http://" then strHttp = ""
	strReferer = "default.asp?p=guestbook"
	if cStr(strNamn) = "" then strNamn = "Anonym"
	if len(cStr(strMess)) \< 6 then
		session("fel") = "You must write at least 5 chars."
		Response.redirect(strReferer)
	Else
set objFile =  objFSO.opentextfile(server.mappath("guestbook.gb"), 8, false)
			objFile.write(strNamn & vbCrlf)
			objFile.write(strEmail & vbCrlf)
			objFile.write(strHttp & vbCrlf)
			objFile.write(dtmNow & vbCrlf)
			objFile.write(strMess & vbCrlf)
			objFile.write("\*\*\*" & vbCrlf)
			objFile.close
		set objFile = nothing
		response.redirect(strReferer)
	end if
Else
Medlem sedan juli 200412 913 inlägg
#12

jag tror det blir strax ovanför "set objFile", men jag är inge vidare på sånt där heller... såhär ser det ut i min, jag har lagt in det precis innan den ska skriva till databasen:

<%End If
Recset.Close
Set Recset = Nothing
End If

ElseIf Request.QueryString("do") = "add" Then

   Namn   = Request.Form("namn")
   Rubrik = Fixa(Request.Form("rubrik"))
   Mail   = Request.Form("mail")
   Msg	  = Fixa(Request.Form("msg"))
   Ip   	= Request.Servervariables("REMOTE_ADDR")
   Url   	= Request.Form("url")
   If Url <> "" Then
     If Left(Url,7) = "http://" Then
       Url = Url
     Else
       Url = "http://" & Url
     End If
   End If

   If (not isSpam(Msg)) And  (not isSpam(Rubrik)) Then
	   If (Namn = Rubrik) And (Url <> "") And (Mail <> "") Then
	 	 	 Else
 		   Conn.Execute("Insert Into gastbok(namn, mail, url, msg,ip, rubrik) Values('"& namn &"','"& mail &"','"& url &"','"& msg &"','"& Ip &"','"& rubrik &"')")
   	 End If
   End If
   
   Response.Redirect INC
End If
Medlem sedan juni 20069 inlägg
#13

Danny skrev:

jag tror det blir strax ovanför "set objFile"

Jag testade sätta det där men då funkade ej gästboken igen.
Det verkar vara omöjligt att få ett spamskydd.

Medlem sedan juli 200412 913 inlägg
#14

man måste sätta in en IF-sats som körs då, OM den inte hittar spam DÅ ska den gå vidare med t ex "set objFile"... annars om den hittar spam då ska ingenting hända (iaf inte i min, ingenting händer alls :) )

Medlem sedan juli 200412 913 inlägg
#15

Jag är inte så bra på sånt här som sagt, kan bara lite Delphi, men ASP och sånt har jag aldrig orkat lära mig... men jag provade skriva ihop nåt, här är en snutt från din kod där, se till att du har lagt in funktionen "isSpam" nånstans också...

Else

If (not isSpam(mess)) Then
 	Else
		set objFile = objFSO.opentextfile(server.mappath("guestbook.gb"), 8, false)
		objFile.write(strNamn & vbCrlf)
		objFile.write(strEmail & vbCrlf)
		objFile.write(strHttp & vbCrlf)
		objFile.write(dtmNow & vbCrlf)
		objFile.write(strMess & vbCrlf)
		objFile.write("***" & vbCrlf)
		objFile.close
		set objFile = nothing
		response.redirect(strReferer)
End If

nån annan kanske vet bättre, vad jag läst så ska t ex en bild med en siffra på och sedan en fråga om vad det är för siffra, det ska visst vara klockrent också, min kod är inte så klockren, har ändrat den flera ggr, men nu verkar det faktiskt fungera ganska bra... förutom om det är såna spam-botar som skriver seriösa grejjer! som senaste i min:

min gästbok skrev:

wendon@netcast.net | Wendy 6/26/2006 (13:41) http://netcast.net wendon@netcast.net
Thank you for your website. We have found it very interesting and helpful.

men då kan man ju lägga in ett ord till på ordblocken om man vill (isSpam)

Medlem sedan juni 20069 inlägg
#16

Var det såhär du hade tänkt dig?

strFelmess = session("felmess")
if strFelmess <> "" then session.abandon
 
set objFSO = server.createObject("scripting.filesystemobject")
         If request.Form("act") = "insert" then

	        strNamn	= request.Form("namn")
		strMess	= request.Form("mess")
		strHttp = request.Form("http")
		strEmail = request.Form("email")
		strIP	= request.ServerVariables("REMOTE_ADDR")
		strReferer = request.servervariables("http_referer")
		dtmNow	= now()

		if strHttp = "http://" then strHttp = ""
		strReferer = "default.asp?p=guestbook"
		if cStr(strNamn) = "" then strNamn = "Anonym"
		if len(cStr(strMess)) < 6 then
			session("fel") = "You must write at least 5 chars."
			Response.redirect(strReferer)
                  Else
Function IsSpam(meddelande)
Dim objRegExp, words
words = "poker|casino"

Set objRegExp = New RegExp
objRegExp.Pattern=words
IsSpam = objRegExp.Test(meddelande)
Set objRegExp = Nothing
End Function

' Kör en kontroll och se om det finns poker eller Casino, om inte så gör inlägget.
if isSpam(request.form("meddelande")) = false then
        If (not isSpam(mess)) Then
 	Else
	set objFile =  objFSO.opentextfile(server.mappath("guestbook.gb"), 8, false)
				objFile.write(strNamn & vbCrlf)
				objFile.write(strEmail & vbCrlf)
				objFile.write(strHttp & vbCrlf)
				objFile.write(dtmNow & vbCrlf)
				objFile.write(strMess & vbCrlf)
				objFile.write("***" & vbCrlf)
				objFile.close

			set objFile = nothing
			response.redirect(strReferer)
		end if
	Else
 
	set objFile = objFSO.opentextfile(server.mappath("guestbook.gb"), 1, false)
			arrRows = split(objFile.readAll, "***")
		objFile.close
		set objFile = nothing
Medlem sedan juli 200412 913 inlägg
#17

det ser att vara ungefär vad jag menade ja... men du kan ju lägga funktionen längre upp, det finns fler funktioner deklarerade längst upp kanske, lägg den där... inte för det spelar nån roll tror jag... men ändå :)

Medlem sedan juni 20069 inlägg
#18

Jag testade att lägga den som du såg i exemplet, men det funkade inte. Och inte heller längre upp, lade funktionen i varje mellanrum men det funkade ingenstans. Vad kan det bero på tror du?

Medlem sedan jan. 2006278 inlägg
#19

Så här löser man ert problem ........RUSSIAN STYLE :)

Vardan Kushnir, notorious for sending spam to each and every citizen of Russia who appeared to have an e-mail, was found dead in his Moscow apartment on Sunday, Interfax reported Monday. He died after suffering repeated blows to the head.////

Medlem sedan juli 200412 913 inlägg
#20

wave: jag har ingen aning du, kan ju vara mycket som krånglar, någon annan vet nog bättre...

monkey: hehe... jodå :birp ...slutspammat för hans del :) synd bara att det är så populär verksamhet det där, nitar man en kommer två till...

142 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)